|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
/ C7 |5 F& a* @* v4 I, e6 `% q2 k2 a
头文件,加入 #include <afxdb.h>7 [ L( l; F8 |5 d" w
. x; _5 }" j; s/ u' Zvoid excelTest::do_it()+ G$ Y. Y9 m6 X3 D, B, \! X) `
{9 I; v/ l8 E \
5 V J/ W s7 H: \* P8 Y
// TODO: add your code here* l5 S+ z& E4 Z( N! n/ J. E
9 _& z1 Y+ g7 e3 `& r- ]0 n CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse
' |) W0 w4 I8 D5 L7 C, ^- { CString SQLCommand = "select * from plmhome"; // SQL查询语句
5 M7 K4 L8 G$ [: ?% n( I f5 S DWORD dwOptions = 0; // 设置连接的建立方式
0 q# Q7 i, A+ F% U/ p CDBVariant temp; // 数据库数据通用类型
8 n6 D# e# J6 x! j1 k- I int result; // 储存返回值的变量 ' E9 b/ s. h+ i! c
char cyl_height[133]; * N: Z) ]0 c: y6 C
char cyl_diam[133];
! M6 q& s. Q7 j double *cylinderValue = NULL;
" K" \' @. n! Q; {0 A% f) C, c9 D* V( W; M" p: V4 }8 O
try
2 \% C0 j7 B. Z- o {
! S V# e2 n/ Z" }5 Y; P 0 l# J& ]/ W; q9 H' `8 S. K
result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库 1 R$ ^; L/ R1 P) J
if( result != 0 ) // 如果成功打开
' }* |3 d! v7 D' e. W0 R { - p, H) S+ {' T7 t* G% v0 \* T
CRecordset rs( &Database ); // 定义记录集 # W! Y5 v# Q7 n$ L
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false ) 6 ~5 `/ g* D3 y; }: I6 F
{
2 _+ K/ s- g" |* S9 h9 _ rs.MoveFirst( );
4 [9 l6 U9 l5 q: i- ` short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目
( E4 o0 {5 i$ Z( ^9 H, ` while( !rs.IsEOF( ) ) 0 C& e3 B" q+ b' r% U/ w
{ 5 c7 }4 e% }9 G' ]2 c
cylinderValue =(double *)malloc( nFields * sizeof(double) ); ) [, u, x) p0 Z2 [/ _8 X3 Q" s
for( short index = 0; index < nFields; index++ )
. H: X/ ^9 D1 \9 r {
k7 h9 r/ }# h) p" K rs.GetFieldValue( index, temp );
% f4 c0 B- C5 Q. T$ F+ x+ w6 ~ cylinderValue[index] = temp.m_dblVal; + c. S' w5 ?, F& U$ s
} . ~ a/ ?+ s/ o3 S3 x4 {
sprintf(cyl_height,"%f",cylinderValue[0] ); , g; f2 i6 n& Y# M0 w4 l4 q
sprintf(cyl_diam,"%f",cylinderValue[1] ); 3 B' y* N; a% l3 ]+ e
) j5 g4 V9 E+ R' n1 F rs.MoveNext( ); ( x8 v( q1 w' d9 Y& w* n6 H
free(cylinderValue); ( f e$ m* f, q- W. w( g
} & `5 _/ l; h8 C* u. v
rs.Close( ); // 关闭记录集 0 T8 M4 Y. @6 }; T0 V/ q' @1 E' F
} / T3 D! `; @+ b0 Y8 E$ ]
Database.Close(); // 关门数据库连接 % q/ N2 ]& p6 \" H. a, K2 P+ c8 \
} ' q. t3 B, q8 t7 J- h
}
( [+ @0 S& E2 o/ d! m
+ P- A# g3 f% V
; Z' {3 l: \4 V kcaTCh( CDBException *pe ) // 出错处理
) }4 m) B5 _0 L. Z! C; A {
* |3 o, {+ c- j- O AfxMessageBox( _T("Exception!" ));
- H; J) H$ r: O" }- N* K6 l+ X AfxMessageBox( pe->m_strError );
R+ G# S8 ]; m. H' T& G pe -> Delete( ); / y; j4 D, `$ Y. z
}
z3 w) k( I8 E, Z5 x}
8 P- u. q# C3 H6 ^" F2 l9 e4 o' {1 ~4 o3 x
% }8 \! |0 j1 q, @6 y
$ l8 L) H9 f6 C' ~
|
|