|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
+ b) Y9 k, P; t, K5 Y1 j4 m
头文件,加入 #include <afxdb.h>: ~ z! n6 t6 D! ~6 v( o2 V2 E
7 k0 X3 Q9 U5 R1 h& h4 c
void excelTest::do_it()$ s& M3 H8 G. A& R! e8 K8 t
{- s7 `9 z6 J3 O; q5 Z% c
7 o2 t [& Q: a. ]. T! l
// TODO: add your code here
% v! i4 t. n, K# K/ y
. A, _. { n4 X( c CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse & y8 A, l, v0 b5 e2 T
CString SQLCommand = "select * from plmhome"; // SQL查询语句 : x2 H* b i6 F& H7 b" U( _+ q' R& s
DWORD dwOptions = 0; // 设置连接的建立方式 / {2 J0 R9 e2 y9 J; U- d/ D
CDBVariant temp; // 数据库数据通用类型
& A8 ?7 z; ^2 x$ r& M( P+ k8 z4 G int result; // 储存返回值的变量
( F. n3 r5 S& W7 t char cyl_height[133]; ( P# z* b. K1 F* A8 J+ P4 M
char cyl_diam[133]; . K- `4 {% i1 x! t6 j2 ~) P
double *cylinderValue = NULL; $ d7 p7 x4 D# F* ~, X8 i( l! g& a; p
, [8 v1 F! M6 B) ?1 u- Y try $ ?+ A5 q4 c) C Q
{ 3 L7 K& i" b- Y
4 r+ {+ R9 u" z% J8 ^ e* D# I, O result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库
' @4 N) n$ [3 l if( result != 0 ) // 如果成功打开 ( M: k; A$ R y+ `1 q9 G1 j
{
2 y% {; c0 o3 }" _6 W CRecordset rs( &Database ); // 定义记录集 " h% l+ G& U3 L9 y, {3 m6 F$ e9 H
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false ) 3 V" d; X' B E' a( o6 c) s+ Z
{
) Z& E3 k' ~3 v+ ~$ U! g% L- [4 A6 X rs.MoveFirst( ); 3 E3 p. w7 |" [6 v+ l6 M6 J; ~
short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目
& Z0 @9 R: j% @/ j while( !rs.IsEOF( ) )
I% z. m( U/ A- Z& ] { + t9 ~* m9 E6 ]0 t
cylinderValue =(double *)malloc( nFields * sizeof(double) ); $ Y4 V" p) H5 ?4 m+ o7 u
for( short index = 0; index < nFields; index++ )
) ?+ }$ z* @0 t8 X { W' U, F6 n w9 g; `
rs.GetFieldValue( index, temp );
# a" C6 }% [: \ cylinderValue[index] = temp.m_dblVal; " u) ~! r4 \* C6 m# x
} 6 m$ j5 A* y) J8 h; M
sprintf(cyl_height,"%f",cylinderValue[0] ); % n# n# q# b' w9 j0 l& s
sprintf(cyl_diam,"%f",cylinderValue[1] );
# c0 n& c; f, ~0 f5 F" M3 x
: n6 f' }9 u7 q+ {/ ?) s- n rs.MoveNext( );
9 ^* i' ~' Z9 j% u" r* ?2 ` free(cylinderValue);
: Y; Q+ t. x3 J, }7 |1 e1 Q } ; V8 u. _) Q/ J+ A
rs.Close( ); // 关闭记录集
) J: }! C# j& z } ! G R1 x6 C* _9 O3 v
Database.Close(); // 关门数据库连接
, u, j# h7 B" N0 }/ ^$ ?2 U9 T } 0 _; P! ?/ b. [4 q$ }7 ^ r. x7 a8 k
} 7 Q; o9 T$ ` _. F( B# P0 C! \
( s# `3 G8 v2 A# B8 d# k5 x4 Y: _8 n: s: B1 D2 K
caTCh( CDBException *pe ) // 出错处理
9 g4 }& R; W4 O& f; U5 Q2 I2 P { 1 b6 B& Q: j3 [/ n" `
AfxMessageBox( _T("Exception!" )); 1 S# m1 f! n2 r0 j
AfxMessageBox( pe->m_strError );
) E3 u( f* X3 R& a8 p4 ` pe -> Delete( ); 8 s7 a" ^$ f" Y G2 O1 K3 m5 Y
}
1 m4 N4 c7 }1 P i' U D5 s}2 c$ D$ s( M0 D7 P. X1 v, c9 A# H
0 j8 r8 U; o* K8 O2 T" }
& T, R5 P9 k& r9 a& h: v8 L5 }$ [ w) [6 Y: j
|
|