|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
3 M/ G5 y {: m5 r$ p
头文件,加入 #include <afxdb.h>* B7 r3 ~- Y" e8 {" _# L" i3 `
9 j; E5 ?* A1 I2 Y: b6 T. Rvoid excelTest::do_it()
, x) y5 e9 M2 x& P+ V6 R{
+ c% D$ R f8 L" h3 {2 g( _. c1 u8 q }8 N h
// TODO: add your code here" I( o w& X p
1 V; H0 e3 Z) f- O; s1 m. f CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse ! e* D- [6 r/ _
CString SQLCommand = "select * from plmhome"; // SQL查询语句
% u8 k8 a; w# R DWORD dwOptions = 0; // 设置连接的建立方式
( ? X" Z6 k# Y! Q4 L7 z" d3 j K7 S CDBVariant temp; // 数据库数据通用类型
4 E& E% Q. L" n4 P3 @* g int result; // 储存返回值的变量 & N, d; _0 D" Q. K# G* f. P
char cyl_height[133];
" _7 G/ ^) ^. v+ T* h- M: ]/ A char cyl_diam[133]; 9 G5 t/ I, A8 E& t4 d; q
double *cylinderValue = NULL; $ Z4 `; V a! \) t
0 x7 ?2 K& d" w% M* a* ]0 w try N5 l5 B+ H |6 M* q
{
) u" p& ~7 u( H; b- n: [8 ] , s, A( F5 M+ j! y1 m
result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库 : J9 b" M. ?9 {. S
if( result != 0 ) // 如果成功打开
: p+ T4 X' M5 s- r+ o( B { : r% G( F* D9 |! ^" k0 C2 B6 P
CRecordset rs( &Database ); // 定义记录集
3 P H/ S1 F/ u. x2 O( D, ` if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )
5 U7 S6 t( z) j, c5 H { U# _: ]4 Z- O( N3 d* g
rs.MoveFirst( );
6 e9 i; T( u) K# J short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目 3 r3 [- | D9 L
while( !rs.IsEOF( ) )
9 u0 y3 O4 U- s/ { {
4 j8 q8 ?/ d! o cylinderValue =(double *)malloc( nFields * sizeof(double) );
+ S* A; W0 _$ R: m% N; e2 q: ~& @# m for( short index = 0; index < nFields; index++ ) 4 D# L, ^. A) {- E9 I1 v
{
9 q8 E8 W0 L1 c3 r! y rs.GetFieldValue( index, temp );
# C( K1 H3 B3 C$ T. J( @4 V4 x cylinderValue[index] = temp.m_dblVal;
+ U; r' W% D0 L% s; ?1 x+ s W } " ~* Z! S9 g Z: n4 Q% z
sprintf(cyl_height,"%f",cylinderValue[0] ); " b4 ?& v7 A, S
sprintf(cyl_diam,"%f",cylinderValue[1] ); # T* S* B$ ^4 D4 W1 r% Z
! `$ m6 Q* v6 g( g% a rs.MoveNext( ); 9 y/ W: M. v' |' R
free(cylinderValue); 2 N5 Z% m+ C; O3 K; v
} 6 | a" Q" X: u+ e$ O
rs.Close( ); // 关闭记录集 ' W! J' W% m3 l4 D) Q4 N2 U
} 3 H& b; L P- d4 z% `& m4 E% J0 Z2 n
Database.Close(); // 关门数据库连接
& s$ `0 {0 | @3 T) r }
! q8 z5 b- V& u1 r5 U) k$ v2 n }
8 ]3 V, J" s! ^1 d4 M) M& l/ A% J" L( `! T, t+ W% H7 {5 O) K5 X
, E% L L% e% m, X5 v9 gcaTCh( CDBException *pe ) // 出错处理 : h5 I: Z3 P, p7 W) a
{ : f8 Y9 c& o9 q9 T' W
AfxMessageBox( _T("Exception!" )); 2 k. o. X+ w. w# t" z
AfxMessageBox( pe->m_strError );
$ p7 Q$ x' I {0 u( f pe -> Delete( ); 4 j& O) G( G5 G6 W& X
}
3 e5 ]0 R# r4 B8 F}8 _' h7 d; w, E) r; f& a
9 W0 Q3 q8 o6 b& r$ a
7 b" t+ M' c( q
' o6 ~0 k* l) k3 U' x$ Q |
|