|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
1 H) x, q+ ?7 n- b N头文件,加入 #include <afxdb.h>" ~4 {, w6 H; ?( e
" p# g- |. V. I R% lvoid excelTest::do_it()
# _) H' G5 D; I/ u+ t# |( J$ t{
3 |6 B+ E! P d1 r
& R2 [# k5 |/ b/ | // TODO: add your code here
5 b S8 { O7 I2 h& f7 y8 O3 q/ q. b- x$ Q1 @, a% t: x# R
CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse
$ F4 n) O/ W7 T% J A* L CString SQLCommand = "select * from plmhome"; // SQL查询语句
$ O6 k g6 t1 ^/ _; [' w, I DWORD dwOptions = 0; // 设置连接的建立方式 3 c' k; C* ]2 X
CDBVariant temp; // 数据库数据通用类型
9 X5 m7 ~% }7 H& @/ h int result; // 储存返回值的变量
# o5 ?6 j( l; h; C9 ~& @' r char cyl_height[133];
) m6 N5 w# J+ b char cyl_diam[133]; / _( A; [2 i3 G9 [/ t$ o$ C
double *cylinderValue = NULL;
* `7 |) V; g3 j. ^' ~! i
5 K! {( x4 p: G5 U try
; l# i* y$ e- Q3 p) o( ]; g { # y' Z% X# S* d- [/ r9 ^
5 @- n7 M: Y, |+ I1 f result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库
2 H2 j* e' L; ^+ r9 Z. F if( result != 0 ) // 如果成功打开
! L# K) j, A z: S( u* M9 w {
/ ?' g5 p( n9 @+ Y' e CRecordset rs( &Database ); // 定义记录集
, O+ s' _9 I8 a; @" \9 T2 M0 P if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )
4 e0 D, s0 N" T {
" }5 d$ E& V/ W/ H1 F9 }' d rs.MoveFirst( ); ; G, J9 j+ l6 I' A
short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目 / g* K+ B9 ]1 }& s" O c
while( !rs.IsEOF( ) ) / O& s4 I9 v4 z, q: L+ o% {
{ / p; t( i* J; W4 K$ T3 T
cylinderValue =(double *)malloc( nFields * sizeof(double) );
2 u; _: a+ M: q, @0 G7 W. a: \ for( short index = 0; index < nFields; index++ )
6 L# @$ t8 H# v/ r6 P- {6 E { - k# ?4 b* N7 {; G/ a
rs.GetFieldValue( index, temp ); + A5 B1 G6 p: ~. D4 o$ p( G
cylinderValue[index] = temp.m_dblVal; ' e% F f4 b3 U
} ' K( p0 P2 R# l5 D' y
sprintf(cyl_height,"%f",cylinderValue[0] ); " V* b5 z! M8 u1 n( Z4 r2 ^
sprintf(cyl_diam,"%f",cylinderValue[1] ); ' d4 C' y$ d( Q5 I( ^- F" T. \8 O3 F
3 @9 Q. b& B/ b, ^7 E* R
rs.MoveNext( ); I: X0 ^7 x( K9 d* Z* X
free(cylinderValue);
1 r n" M7 L* \" l+ I% F" D }
# t' ?; |! M. U rs.Close( ); // 关闭记录集 : z; W2 b2 u, S3 @8 Z' h7 ]5 D+ Y- E
} , a8 F# l# V& m. g6 K. \: s- I
Database.Close(); // 关门数据库连接 $ G8 u8 g/ t$ b% t' ]8 k6 O
} 7 D! j' {- ~' U9 G
}
9 \& e% h. s9 `0 b
& t; G: X- F7 K T* \4 z) T* k
- I9 z) b' Y" McaTCh( CDBException *pe ) // 出错处理
" F% f+ {" l( |2 o: `$ t; I) o {
$ p8 f8 o4 n8 W' _! T, b! U- R( m AfxMessageBox( _T("Exception!" )); 1 |3 {7 h3 \9 V
AfxMessageBox( pe->m_strError );
' J" w0 N5 [8 k+ `+ \* z" Q pe -> Delete( ); + d8 f+ D: D# H) |6 X2 B9 s5 P- h
} 3 t) u* r- y( [/ i* l3 R
}
% E6 k0 H3 H8 y: |- s
) D3 L3 H: V0 G2 q4 u+ o7 W3 L
/ L6 n4 `) c4 r3 D. k
" F# U+ r4 N$ ` |
|