|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
( g2 h. ~& y* e. s4 i4 s头文件,加入 #include <afxdb.h> t' N/ [% u0 d) g
3 F. ^1 M) t3 h- ~$ A& l
void excelTest::do_it(). l6 s! P Y7 o" r2 \
{
K: G( w( [+ N* ?+ O8 o
6 G' o `) X7 |9 f+ n // TODO: add your code here4 m' Q9 F! E5 k; t2 o- N
- W% }7 _6 a% V3 ^( D0 E- Q G6 @
CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse 9 `3 }' ~/ P) ]' B, S' D, G; w
CString SQLCommand = "select * from plmhome"; // SQL查询语句
& b0 q- j, r! `# T. ]( q: S8 H, b/ i DWORD dwOptions = 0; // 设置连接的建立方式 3 G! h( \1 X1 `/ \5 D7 ~
CDBVariant temp; // 数据库数据通用类型 ! c4 u3 I' F7 I; o# u& T& S
int result; // 储存返回值的变量 0 b2 f4 R/ Y( U- e
char cyl_height[133];
) }. m& u8 F! |$ a char cyl_diam[133]; 0 W$ _' a- D. [5 W0 @9 Y. D- U2 U
double *cylinderValue = NULL; : W, G# q- L+ {) J
b# x: s, g5 |% p try 2 v" v' u. J$ ~5 B
{
$ x" ^8 H s- T & j3 u! m& M7 E. L- t; D2 _
result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库
* p2 _5 H6 \7 u8 m8 [' D if( result != 0 ) // 如果成功打开 " Y1 X- q" F. \3 F. y
{
7 C! G& D7 Z) t. _3 G6 p' t/ g CRecordset rs( &Database ); // 定义记录集 - W3 g4 y0 A+ f: E- B& T4 _
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )
4 J" q, e) t) P4 F* f; u u { " x( h) g# \0 [: ]
rs.MoveFirst( ); 6 J- P E8 }, v: ~$ y$ N
short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目 $ H+ ]% w3 Y* h( j
while( !rs.IsEOF( ) )
; S1 r; L& ~* o! G+ {$ P { 6 X/ T4 `7 C' \6 g, A4 g
cylinderValue =(double *)malloc( nFields * sizeof(double) ); / w/ h/ x! _0 \5 k
for( short index = 0; index < nFields; index++ ) # v t( \. k. f1 P
{ & M$ z0 l- f$ H/ _8 }2 e
rs.GetFieldValue( index, temp ); ( b! g% P$ o1 Q& c
cylinderValue[index] = temp.m_dblVal;
0 x2 U6 l s! S }
3 n6 O8 O& ]9 `( b1 i sprintf(cyl_height,"%f",cylinderValue[0] );
7 T" v8 p3 b4 J% W3 T l sprintf(cyl_diam,"%f",cylinderValue[1] ); 4 |7 n4 s, e9 x9 z+ ^ \
/ P7 d U8 J" X1 d) g rs.MoveNext( ); 1 L+ V4 c: h+ F) f2 A- H
free(cylinderValue);
, b; _" @! r7 Q } 7 D" |( t5 Q# R; a% T+ {
rs.Close( ); // 关闭记录集 i9 Y) q7 I' H$ k
} ; g" A/ d# y0 b+ h0 E( F2 g
Database.Close(); // 关门数据库连接
; z6 N+ x" A2 I- m @, a }
) d" B* k# i7 r* i* D9 W8 N } & z8 N% Z7 }6 N+ F4 F& _4 }. ~) u
7 ~6 g% v, [/ I: b6 c% ^% e* k) a% T6 X
caTCh( CDBException *pe ) // 出错处理 9 U7 B4 Z" M: P! K% Z
{ {8 I' M+ Z% c) k& v% O
AfxMessageBox( _T("Exception!" ));
" t4 {' [" ~7 U% N, D) C9 X AfxMessageBox( pe->m_strError );
- T; T0 J, w) T$ h ^; J. e pe -> Delete( );
$ I2 d$ W5 G! j7 S. O$ g% K) ^ }
- }& e/ c- k1 I: M9 t}8 A+ Z8 c9 ~& x9 F
4 G# g; d: {) s
+ q, q+ y/ }- s* r& U. L4 Z% o8 [' T! o; @3 U
|
|