|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 t! N/ T. ^ c头文件,加入 #include <afxdb.h>
* Q: k/ o8 J S! h/ u+ u: t, v. F3 C* X
void excelTest::do_it()
$ Q# ]4 `- b) t{; T1 s0 P* K* W0 v7 Q/ q" C( K
& G4 g" D+ \8 W4 N: B. b: o // TODO: add your code here% K2 n) d, C: U6 @* g
& i* m7 P3 T K; ]/ ^( p4 ] CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse 6 ]4 R% k6 j( f/ H
CString SQLCommand = "select * from plmhome"; // SQL查询语句
/ H: U# r8 o8 g" X& G7 V& Q DWORD dwOptions = 0; // 设置连接的建立方式
) s" `2 v$ ]- P( X5 N# \ T4 X CDBVariant temp; // 数据库数据通用类型 , q* ^7 Z* I0 U
int result; // 储存返回值的变量 ! `' j; @3 {5 i- I; [5 V8 T, o
char cyl_height[133]; + a$ z# u& N8 i
char cyl_diam[133];
. f1 w! g" K; C0 `9 z0 w5 V) ~6 [ f double *cylinderValue = NULL; 9 w8 K6 J) B" Y2 a
* O) w" d2 h$ i5 s* \! Q
try
0 I2 S( W ]( ]% O {
8 t7 W2 V+ x3 {5 |3 I3 f+ L* b$ T$ C
) b% j7 ~6 x' B0 z result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库 8 B" Q/ j# d) B" n+ R. D
if( result != 0 ) // 如果成功打开 . F$ A( q) f, {! g) P7 }
{
( c4 d0 d+ B4 }; H8 \% s CRecordset rs( &Database ); // 定义记录集 + K5 m; ^0 z; Z1 E, ~; r0 ^6 w
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )
& P0 {" y& Y! x* z+ g) A1 R$ Q { 5 k1 S) p, g, Z5 i% g
rs.MoveFirst( ); # X4 b7 t1 r( ] ~
short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目 & t, R, |0 s8 R$ p3 N* N! ?
while( !rs.IsEOF( ) ) - V- U$ ]* |$ R" M$ Q
{
% [+ c- q3 ^7 i* g8 T: q cylinderValue =(double *)malloc( nFields * sizeof(double) ); ' e/ h) v7 f# K
for( short index = 0; index < nFields; index++ ) . W7 ~( D; r9 n
{ . {# L( @7 ^/ Z6 B; E' _
rs.GetFieldValue( index, temp );
- I0 Z* }, b: u( f cylinderValue[index] = temp.m_dblVal; 0 ]+ B6 d/ Q5 t# d: B+ H3 ~
} 3 k& Z, B4 X7 \8 a8 T
sprintf(cyl_height,"%f",cylinderValue[0] ); " V- E& A8 V6 N0 Q7 u
sprintf(cyl_diam,"%f",cylinderValue[1] ); % m/ Y# v Y+ G, R! y. D* l+ d
k5 M' J9 h# N, Q( C2 [
rs.MoveNext( );
: r5 F9 V! ]8 k4 G/ u) ~ free(cylinderValue);
V; ?# a @" s; ~ P- z# j# } }
' S/ }9 C- H' _( A rs.Close( ); // 关闭记录集
+ ?' |7 l; O2 k4 K! Q/ w5 w }
h; q% O9 H9 C5 `( B8 J0 D Database.Close(); // 关门数据库连接 " J$ X" l7 k( I' H+ s# o8 C3 e( h
} ' s; E. O1 U2 X
} 8 Z I1 V5 G; v e4 r' x
1 d N D0 x. J m4 J9 {# B; U
1 `# q* K( i6 F O1 |caTCh( CDBException *pe ) // 出错处理
) N0 k- H, K! R) a/ n+ V {
/ |$ }4 l# Q! [4 v4 x! S AfxMessageBox( _T("Exception!" )); 7 W: q) \. t* e! Z
AfxMessageBox( pe->m_strError ); . E+ n! e3 R; n# [; ^
pe -> Delete( );
- Q" ]% o8 a' t) r( | }
0 N8 p/ s3 D6 n0 d2 N) n}
+ ~# ~' L& s. u4 g( ^6 h/ E% i [! w# s1 p6 d; {
2 f) f' w# T. v. h5 x( u5 N/ }8 H" R$ h
|
|