|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
$ |4 L8 Q l4 f" r5 L/ M) @$ H! _头文件,加入 #include <afxdb.h>
) F: f9 a( o& X+ M8 S L' V
+ j1 \; Y. @/ B' G' n, ovoid excelTest::do_it(). _5 a" A+ g- F4 s& z- J3 i* r; O
{6 y# U1 {& p8 @4 X
( @4 P3 j: }! p // TODO: add your code here8 T+ G+ ^; K# [0 F$ M# K: K' \
: f3 T; J7 t0 L8 j& D; w
CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse ' _! L- p3 F: W s2 t0 B9 c& o
CString SQLCommand = "select * from plmhome"; // SQL查询语句
* G' c$ z S1 Z DWORD dwOptions = 0; // 设置连接的建立方式
2 P4 M1 \! A) o! ?: k CDBVariant temp; // 数据库数据通用类型 : ~6 `& h/ X1 r/ [; I" R; t
int result; // 储存返回值的变量 $ u! ?. t+ M4 c+ D7 n, y q
char cyl_height[133];
0 t9 A+ f5 k" \* N$ `2 {+ t) x char cyl_diam[133];
5 J; x: k, p( u0 s# D0 M double *cylinderValue = NULL;
! b- }) X' d# I% B) C Q! J/ B1 T5 A# ?8 i1 v( h0 Z. X
try
9 R0 D- B1 `8 F7 B* C9 \: V/ P' x {
% Y8 {. p3 d: g/ A
. G2 K" D3 c( y& N$ R result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库 , [2 a, B8 v+ N
if( result != 0 ) // 如果成功打开 & w0 u. E0 T b" J) U, c
{
( d* u: A0 u9 f1 u) n1 K( R3 d/ m* K CRecordset rs( &Database ); // 定义记录集 ! b; C2 B0 j% [# ~
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false ) - l% `3 ]. h# s9 h
{
# f6 C* ]: c* X" E* V rs.MoveFirst( ); & V1 e% z: y2 }. m$ w0 `& \
short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目 $ d/ \3 F9 J3 M8 R& @8 Z
while( !rs.IsEOF( ) ) 2 J( L9 B" S" _- J% @' I( Q
{
& B/ O" }# u1 {& J) |( m cylinderValue =(double *)malloc( nFields * sizeof(double) );
" i. S7 _1 @. z& g& m3 P) W for( short index = 0; index < nFields; index++ )
/ C) J& K5 R/ J( Z' s { : q9 \9 o3 W" U/ ]' Y. i
rs.GetFieldValue( index, temp ); $ G$ \: R ^* |1 h* d2 r1 n& R
cylinderValue[index] = temp.m_dblVal;
0 e' U8 b; {4 u) |9 E } ; c* l" V) I. P
sprintf(cyl_height,"%f",cylinderValue[0] );
% q" `. A& @+ u4 |! M1 R sprintf(cyl_diam,"%f",cylinderValue[1] ); 5 ~2 H5 F! G6 V9 l( P* K1 n8 U' v
9 N! v2 V0 J C0 `2 D6 d/ Y& E5 Q
rs.MoveNext( ); 7 w$ x/ H# T2 e3 n: v
free(cylinderValue); $ h z3 U% e* |& t
} 1 P6 U3 e% i7 @. S7 w
rs.Close( ); // 关闭记录集 : L2 R$ @/ L5 M+ d9 V# D9 A' h: R
} ( j! t' O, k, Z0 r7 j: A
Database.Close(); // 关门数据库连接
; b+ s' s6 ~2 W9 Z& t7 ]( k, H } 7 s, a, l, ]2 r* }; \! {3 `
} 6 q1 B0 [2 _0 I
; F0 y) z$ i6 D3 T, Z* M c6 g! J4 g$ M2 a! X" I* i
caTCh( CDBException *pe ) // 出错处理
% B: F+ `: O; j6 T# w7 v1 l7 q {
& p! ~3 ~, d# @" D8 c7 L AfxMessageBox( _T("Exception!" ));
1 B; J, a! D8 u! y7 a! C AfxMessageBox( pe->m_strError );
$ g' }' A, V7 h: _3 A* s7 V/ r pe -> Delete( );
/ L6 L1 d2 ^0 D% J } * N* Y, q) _0 O9 N: Z
}
8 e4 l5 C3 D X4 c2 k( O5 z* h% I$ i7 B4 v% l3 z9 R* a+ M: l, k
" w2 i% ?2 X- P& C+ J$ s4 w$ Y" F
2 b/ {- U% D5 a! l$ u
|
|