|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
: T, B4 r# U2 Z6 Q
头文件,加入 #include <afxdb.h>
1 h3 H: X/ [' a J8 C8 T
# S+ F3 \. I, F, uvoid excelTest::do_it()
) E8 |% R8 y4 @{. v8 z4 e) J* T6 x8 R% k
1 k/ t4 [, b/ I5 ?4 `6 Z+ h
// TODO: add your code here/ \! X; n! r1 C4 H3 f, ?0 C* k2 ]
% x% V; u, Y1 E- p9 v! J6 }& x: _
CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse
7 I( y/ V: \; H3 \, Y" V CString SQLCommand = "select * from plmhome"; // SQL查询语句
]" Q/ K$ j& S3 l. h1 U, V DWORD dwOptions = 0; // 设置连接的建立方式
4 t9 u3 L" c; B0 I) r- a CDBVariant temp; // 数据库数据通用类型 $ D$ {; Z* g% H' {
int result; // 储存返回值的变量
: u% ~7 r4 H4 J! E7 y" w char cyl_height[133];
: D. @1 l' o- N! P/ y+ ? char cyl_diam[133]; # K, M |) ]* q" E% x3 g
double *cylinderValue = NULL;
" Q# {* A. ~+ X& q' X% _7 R6 L4 ]( T
try
; m+ a$ d1 ]: D1 p. G$ X { & u5 A6 O% G& N4 L( b* u
' K. n- x2 J7 I7 \) U0 c- f1 U
result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库
7 p4 R( t5 @% ]2 Q+ Z, n$ D if( result != 0 ) // 如果成功打开
9 r" F% h8 l! B C {
' D6 J9 P/ e) f5 R x CRecordset rs( &Database ); // 定义记录集 - q9 f* F1 T2 n' w7 u( I
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )
; ]" P [ \7 X, W$ B {
: R) @0 T4 J/ Q rs.MoveFirst( ); # P. l$ X$ }1 y8 c$ s T0 j) q
short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目
1 ]; L7 {* e0 A% Z, @: C$ M0 y while( !rs.IsEOF( ) ) . n1 ?8 e1 |1 x4 R9 `" i5 R% w
{ ) W, @( S: f3 ?0 [+ m8 O- X( }3 w! |
cylinderValue =(double *)malloc( nFields * sizeof(double) );
3 Y# G% m. r/ i. W for( short index = 0; index < nFields; index++ ) . n7 |2 ~2 E/ b+ }. W
{
$ P+ u9 M2 p. J {1 `3 N' M& ] rs.GetFieldValue( index, temp ); 6 W2 B& c) I0 P* \
cylinderValue[index] = temp.m_dblVal;
8 ~" o3 X5 e$ l5 c3 @3 Q' a* T5 Y }
5 Z3 l; Y; g4 C: p; L7 ?( }3 V sprintf(cyl_height,"%f",cylinderValue[0] );
$ e2 l2 Q8 u+ y% h sprintf(cyl_diam,"%f",cylinderValue[1] );
& S2 \4 l; E' m/ }- s
( R! n S4 r3 p( \$ V rs.MoveNext( ); : I' z' r: C+ P5 L
free(cylinderValue);
+ G/ b3 s. M, ?- ? } / T1 F' d* ~' ?5 D3 Y
rs.Close( ); // 关闭记录集 6 S- c, e. X; @* [
} , t+ v8 c9 C7 ]8 z( [
Database.Close(); // 关门数据库连接
y" C6 @% R h) Z1 ~. H7 ? }
% e1 l# M- H& O# ` } . ]$ V( `3 V& j0 [
, L4 X1 D/ z* B7 V
7 R- X6 J1 Q* [* Y, XcaTCh( CDBException *pe ) // 出错处理
# Z" k5 a( c* ~9 X3 {8 H! d" E0 _ {
. o! a% I0 s; p* Q$ \ AfxMessageBox( _T("Exception!" ));
# [! |, {2 M' `. g9 h" ~( X3 d% g( Z! u6 L AfxMessageBox( pe->m_strError );
8 {1 U4 W9 g+ ~! C$ c$ B4 P pe -> Delete( );
. D( { N9 Z2 z; i/ Y( H9 R } 9 l3 l1 F9 E# y* h' X. S, B. ]
}6 K/ t. A" O) ]% W4 r, c8 s
/ I9 O; R2 N: v
- K: ^4 B4 }' Z L) n
p1 l& `' d! t5 ?# l
|
|