|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
0 T% `, i' ?5 ^2 v$ }' B H
头文件,加入 #include <afxdb.h>9 o1 F! p8 d1 J. l
% y! b+ x5 ?% c7 I C$ t. r+ `void excelTest::do_it()
' p" T; k a/ m{
6 R/ d) u5 u3 }4 ?: J; B2 H
7 _; N1 [/ P" M& c! J' e' o! H7 g+ b // TODO: add your code here
, [1 Z( m0 p! p: @
, C) p0 y+ z# G1 u# p2 S CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse
- b- j; @' Q8 J+ J* q' g d CString SQLCommand = "select * from plmhome"; // SQL查询语句
4 G, u) t! M5 \/ Y DWORD dwOptions = 0; // 设置连接的建立方式
: s t6 d& X) g3 @, p* I CDBVariant temp; // 数据库数据通用类型
. ]1 {( ?# v. \, X) C3 e int result; // 储存返回值的变量
1 H* R r$ l; a: ^ char cyl_height[133];
- o- A' F) B; q( K char cyl_diam[133]; ; m$ e$ [9 V. `: X3 m1 I j* g
double *cylinderValue = NULL; 6 w' t# T' Q4 b5 R: C, c
z. g! V# Z# ~
try " n Y- P" B, a7 {9 D) n
{
, E5 F& X& A1 Z5 G2 \$ M+ |) E( W / k8 u. o9 i' Z
result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库 0 M" N9 t/ Y# @7 ~! @: ]
if( result != 0 ) // 如果成功打开 5 ]8 z( L6 q; G# C6 x
{
q" ^. u( B9 i% C' I/ b CRecordset rs( &Database ); // 定义记录集 ) {( B- m5 j( b" h
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false ) ' Z g" p# w( Y6 s" U% R
{
[ M( k% X. U1 i+ b$ ]& l1 `0 d/ k rs.MoveFirst( );
8 i# _( a% s: a. m: [' c' T short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目
8 C: [8 O* m' a; l4 j while( !rs.IsEOF( ) )
; b" ~1 j" D- @, l# q( W { 3 T& Q/ v" E& u, w
cylinderValue =(double *)malloc( nFields * sizeof(double) );
2 w( V! ^4 s) n( T: c/ W/ ~4 f for( short index = 0; index < nFields; index++ )
- O2 B8 S1 D! K8 S( z6 S { 4 J6 C4 O3 p) @7 W5 d6 s* P- k3 o
rs.GetFieldValue( index, temp );
% L i! u2 E( u% T! V/ Y cylinderValue[index] = temp.m_dblVal;
3 D& D- t+ ^& B+ h } - z2 r# @( G3 z8 v; s8 D. ^' z
sprintf(cyl_height,"%f",cylinderValue[0] ); " {1 H* n, E6 l
sprintf(cyl_diam,"%f",cylinderValue[1] ); : ]: @ v: S, l* O
/ x* B. d2 \; c7 q9 w& V
rs.MoveNext( );
+ y" i) F8 ~& { free(cylinderValue);
1 i2 ?. J9 M1 e- L }
2 U9 k* z/ P' K% n2 @! U9 I rs.Close( ); // 关闭记录集 / w$ {# U$ ?1 i- R$ h P" e: l
}
6 M7 a, {* | d" q" s Database.Close(); // 关门数据库连接 - P6 _3 t; {% B e0 J- k
} & [& }& s8 f1 T+ J+ L, U
}
8 Z" q" X& U- ?
+ I+ e8 M2 E) _- X0 Q$ v4 z" b* V& u( R
caTCh( CDBException *pe ) // 出错处理
/ ~5 |7 r; s6 w$ K0 N { 8 x [- u j) U# m
AfxMessageBox( _T("Exception!" ));
m2 y$ T5 l$ i' \; q( W' ~+ X AfxMessageBox( pe->m_strError ); 5 W: H9 H! R( E9 ` P1 ?) R$ v
pe -> Delete( ); . _& M' j* k8 i$ R( {: D" _6 L% D }
} : R4 Q* P' ^. }. V
}5 C4 }) w3 j# v, n: W
" D. ~. ?0 `9 @9 I
% p) X- L# m( M @/ w4 x) ^& |! T! j1 h5 n4 W+ [
|
|