|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
0 s8 r6 r0 A" \" Z7 n头文件,加入 #include <afxdb.h>9 n4 e. Z* V* V
+ O3 M) C; z6 Gvoid excelTest::do_it()
}. l- ]: R4 `4 |7 H{! q1 W H, f2 W1 z7 W
; a8 a4 h5 z3 a" n
// TODO: add your code here c" ?8 m8 p1 m& X! w1 s
! N- j: g0 e5 ]6 Q; e8 t
CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse & x9 O4 h$ R8 w* c) F) ?6 p3 q$ E$ [
CString SQLCommand = "select * from plmhome"; // SQL查询语句 ) Y" b( e4 B V
DWORD dwOptions = 0; // 设置连接的建立方式
8 P0 ^' J- \- v% C& a5 N- e! q CDBVariant temp; // 数据库数据通用类型
$ y& E# u$ d( Z- { int result; // 储存返回值的变量 3 V6 K5 l& m- d2 I9 q
char cyl_height[133];
% _' B$ c0 K, | char cyl_diam[133]; 7 i' i3 ~8 V, F% @1 \ o) M. O
double *cylinderValue = NULL; z4 P1 g2 `6 B6 S" N$ M7 x! c
. h/ @9 ]& t3 [/ b) w try
2 L7 ]2 [+ u+ M, k! h {
& ^8 E: z: O' Z4 G: W* { G2 H( D. P6 \7 W, v7 c6 y
result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库 & ?: x/ U* V' |7 x! o+ t
if( result != 0 ) // 如果成功打开 3 V" o% O9 o R
{
( R1 _: O) q2 p- c+ l* | CRecordset rs( &Database ); // 定义记录集 ( p# X4 p5 k5 [3 U9 F% k
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )
0 m4 n' b/ ~8 o$ \! O' H9 M {
! p* ]6 f% ~. d3 e' K# z3 I8 Y rs.MoveFirst( ); 0 y6 ? {3 U1 L2 w
short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目
! w& Q# G3 G$ t% J! q/ | while( !rs.IsEOF( ) ) 2 U8 j- a% k7 m% ?, O
{ 3 a I+ F2 C" }* q( N3 J3 d' c
cylinderValue =(double *)malloc( nFields * sizeof(double) );
0 V0 R8 }% B' ]3 B3 d# w$ {+ v A for( short index = 0; index < nFields; index++ )
5 t* g* j% u7 P [6 \ { ) ~4 v, D0 i- Y; p/ }
rs.GetFieldValue( index, temp );
9 |% L+ q! d# U cylinderValue[index] = temp.m_dblVal; # U8 A8 i7 K+ W4 B* P6 N
} ( z" J/ _/ m: x" C: l s
sprintf(cyl_height,"%f",cylinderValue[0] );
; R( H2 d8 B+ Q m) F; I sprintf(cyl_diam,"%f",cylinderValue[1] );
" M* Q( }1 D$ c1 N& P; ?6 K0 x& O/ Q
rs.MoveNext( );
' L0 N% _' }& y1 _ free(cylinderValue); 7 E4 Z4 A0 J, r. M7 R8 N
} 2 v9 E* o' |3 m/ }7 z& j2 j5 w' N
rs.Close( ); // 关闭记录集
2 `6 E7 u$ M9 [( X4 V% C! Z }
) W5 a2 d% n9 X2 T7 G1 _+ } Database.Close(); // 关门数据库连接 1 Q; x, m+ g% ?" s& O. u# S
}
. D6 Z$ ~/ D- {# ?3 D1 x } # s4 K$ v- D- @ C$ T8 O
( o; T4 S% }2 p: H% l; R% s
# O: H9 N! |) wcaTCh( CDBException *pe ) // 出错处理 + c: ?$ L8 j& P9 _) P
{
* X, I. m$ @4 ^3 d3 I AfxMessageBox( _T("Exception!" )); 0 V- y2 a$ n+ ~6 ?; Z6 z
AfxMessageBox( pe->m_strError ); : t! X! _, S1 j: w' Q
pe -> Delete( ); + @8 F, R. o$ s9 c: L" M, d' A# X
}
0 r/ S( c6 u% w* ^' K; v}6 H3 d6 r7 G! S* s9 a' s. l- X
: V6 Z/ a- @8 ]/ [" D) I! C: u0 a8 R0 |+ U; B, F
9 K i4 N3 C# t8 a+ k |
|