|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 l; S" N' O. T3 {2 Y头文件,加入 #include <afxdb.h>) C ]8 {) V$ n! f, M1 r: n
4 D5 g3 `8 W% w% X" y2 Fvoid excelTest::do_it()0 g3 s8 a4 Y/ [8 X+ o. f
{, z4 A) a3 d; G- t/ n. y ]- |# W3 k
# H1 X6 A% `, }/ i. V
// TODO: add your code here! w' l8 A" F0 u) [6 f$ k" E- ]! l
$ T! \6 G8 ~1 ^$ J- J( |0 y9 s
CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse 3 G$ N& g; Z9 Z B: |& ^/ I
CString SQLCommand = "select * from plmhome"; // SQL查询语句 y/ N4 `' W; N8 K' a( T# V# U
DWORD dwOptions = 0; // 设置连接的建立方式
+ ?! G& {) |4 E CDBVariant temp; // 数据库数据通用类型
+ Y0 x$ C9 d1 I& T int result; // 储存返回值的变量 8 @9 P4 c: N6 Z- g
char cyl_height[133]; $ n8 d8 _+ R, Z7 b n
char cyl_diam[133]; & w; Q# T! D! z+ M m* o3 m
double *cylinderValue = NULL; - Y- M: X, D- L/ Y. \/ @
' Y' ]3 o2 F0 t9 ?/ I
try
8 c: x( f2 B* i5 ] { 0 ~: F* T" R/ u0 P
3 B, @# ^+ D9 |; D" X2 }7 ~ result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库 + m0 }. ?* L1 h3 |, g" T
if( result != 0 ) // 如果成功打开
2 e! K) r3 w1 |) H { * U( Z: M% B, A# l( r& v! L+ T8 h
CRecordset rs( &Database ); // 定义记录集
2 ? O* M4 d* u- J' h$ M if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )
% d$ |, X9 l, \) a/ K { 4 r" l' {# ]. l2 r
rs.MoveFirst( ); 1 @1 H6 Z) R7 Z+ D0 A1 h
short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目 3 m3 j8 [* O! x5 Z
while( !rs.IsEOF( ) )
8 v; s) T0 r' X5 f7 |8 e/ p) p# X& I {
1 x# {* f8 O& W1 E! P cylinderValue =(double *)malloc( nFields * sizeof(double) ); 9 {- _4 L- w7 }' j8 \
for( short index = 0; index < nFields; index++ )
/ U- y2 b$ |* J4 M! p { , m$ ]: ] h7 U
rs.GetFieldValue( index, temp ); {: H7 K% _" x5 n' Q
cylinderValue[index] = temp.m_dblVal;
$ s9 K& \: i5 y- w } 0 p, o# `" e0 \4 N
sprintf(cyl_height,"%f",cylinderValue[0] ); 6 k, f: C& a8 e3 {8 g0 x$ e
sprintf(cyl_diam,"%f",cylinderValue[1] );
$ L$ [" v. @3 w; I$ e! m7 }- l) e1 m, a) U! C# d8 a$ Q
rs.MoveNext( ); % v. }+ _& m0 W# c* |4 W
free(cylinderValue);
; g& N* L% S# @/ I4 b. \% Z }
9 e+ [7 |$ F8 O |! _& \ rs.Close( ); // 关闭记录集
+ o' A5 a" j. P/ ~ }
/ v6 o% s3 H, \; H1 d Database.Close(); // 关门数据库连接
$ r6 A$ a& q9 p/ L" Y } 0 W; x" A& D/ M$ T
}
, j0 U2 j, @$ ?; L# }0 N3 X: _$ w5 S! S7 V
7 e* e9 @9 O( u, C2 ^+ B% S
caTCh( CDBException *pe ) // 出错处理
# U* [- S( y* f, `. j) N {
$ c H2 ~1 s' N9 B. Z5 y& D AfxMessageBox( _T("Exception!" ));
/ G! J/ h- u( T9 u( E o6 S8 ~% W( F AfxMessageBox( pe->m_strError );
4 [5 Z) }8 N2 _( }! E$ D* x pe -> Delete( ); ! p$ ^8 L; C" n4 Q' x
} . U/ e0 z. n7 y, B
}
% i9 s, C" W4 ^: S
: a4 U+ V8 x7 p$ Y: d0 i$ u: H7 ~ e% a5 h
5 T9 N0 V8 ^" u% j4 I: J |
|