|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 I; g$ y# ?0 u) i$ ~头文件,加入 #include <afxdb.h>2 i/ P* n0 U* l% D3 D- |. M
. [4 ^" i D! e* Q% e. k3 [void excelTest::do_it()
: S$ E' j' k. O, g{8 [4 J# Y1 L2 q" x$ @
, W9 O0 M. J6 J' i" W+ b // TODO: add your code here
. N( m5 t8 W; F! \
8 i: p$ D# T( r! W! [% u8 [8 S CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse - |2 |9 U4 X! C5 `
CString SQLCommand = "select * from plmhome"; // SQL查询语句 ) M2 j, f1 h8 I. q" `$ z+ m
DWORD dwOptions = 0; // 设置连接的建立方式
4 W' C( m$ v! l CDBVariant temp; // 数据库数据通用类型 3 L6 w7 Q2 V- ~ _
int result; // 储存返回值的变量
( x7 {( b' C( S' G" W3 M6 r7 ^ char cyl_height[133];
* N5 h ?. i) o0 r* }# O( B char cyl_diam[133];
- h4 z& y5 f' J5 a double *cylinderValue = NULL;
/ W) h. L! V+ V; \3 B
6 h8 u9 u P( Z5 R: l: p$ l, V try
9 p2 g* ?0 y! ]8 B' Q; x1 H* Y { 9 X5 F) w8 E% [0 I
9 Q6 a+ X& s$ s5 j/ l( o q3 t result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库 - e) ^" i- _. c v$ ?+ H
if( result != 0 ) // 如果成功打开
I1 m \3 I. o { ?- s1 _0 y9 q
CRecordset rs( &Database ); // 定义记录集 ; {) l8 g' W% d' r7 b- M
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false ) 9 j2 F1 g! } ]1 s }
{ + S/ u0 v2 M1 V$ M5 A0 t0 a
rs.MoveFirst( ); }# ~+ X3 W! x |5 ~4 q& e3 v
short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目 2 r0 C3 f4 x8 H8 c
while( !rs.IsEOF( ) ) . I& _$ P0 O% W/ O
{
& b9 X. P4 I) S4 z8 x1 X cylinderValue =(double *)malloc( nFields * sizeof(double) );
& E2 l b s- v for( short index = 0; index < nFields; index++ )
/ R3 m+ Y/ A/ w3 [, f {
i0 u/ p0 y* X3 A rs.GetFieldValue( index, temp ); , j: ~* ~$ t% C3 K) X; p
cylinderValue[index] = temp.m_dblVal; / T6 @: `' ?7 x; r, t
}
6 b! w5 K: o+ {6 R: X. F sprintf(cyl_height,"%f",cylinderValue[0] );
! {% M( m$ ?) ~; _- ^7 g2 ^& U/ q; D sprintf(cyl_diam,"%f",cylinderValue[1] ); ! a/ r9 ~ q4 O4 \1 `
% R$ J1 A/ s1 t* S* X rs.MoveNext( );
6 _+ b( Z) @8 @) [ free(cylinderValue);
?* \# j6 H9 t1 n# T- X: L } " ]( c3 D5 s4 }+ N
rs.Close( ); // 关闭记录集 . f+ w) B6 a: ]$ L4 i- K
}
# d$ v. W+ \& g! H& {! W Database.Close(); // 关门数据库连接 ! R$ f" G$ C4 W0 C3 b; b8 a: R
}
1 L9 c+ `; |. l- h }
" Z( E3 ?( d" E8 R
) Y/ l5 E& ~ Q2 D8 `, t. z3 w; U/ y! X6 B
caTCh( CDBException *pe ) // 出错处理 + l; O# K+ M9 p
{
( \4 b! z6 y7 ~; Q, n* N AfxMessageBox( _T("Exception!" ));
?+ M" ?; G9 i9 D/ S% j AfxMessageBox( pe->m_strError ); / e3 M/ g6 H0 r5 L& a5 ?, x8 a8 p
pe -> Delete( ); . M+ ^6 V1 F% O$ i8 J/ F( U9 ?: _
}
/ \/ x; M% ^6 P- C: }- z( }+ v}4 _' T, H7 U6 z6 j3 w
' K4 y( n: k* U/ n" C* H q+ Q% O+ Y: H) I+ p; Z' e5 V
, g1 e- o4 x8 x; m" h$ k% Z T- Y3 g
|
|