|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
* i Q9 _" ~5 Y3 b Y" i3 H
头文件,加入 #include <afxdb.h>
- F9 [; o8 N, K* u; U' ^6 g& r" j5 `) [
void excelTest::do_it()
0 z% u- _3 b) U; W: K# }{
- n2 m8 O' A1 `- _+ H# X7 X1 @
+ M! ], [" U, q' B: J( Y2 R4 |% U @ // TODO: add your code here
, ]$ J, X5 u4 H- Z. s. P1 u" K6 k( ~' o/ |+ E- x+ y
CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse
6 P2 Y" ~, J5 i. l7 c) c5 p CString SQLCommand = "select * from plmhome"; // SQL查询语句 1 f! p! U; F8 g1 [- }4 f$ O6 s8 E
DWORD dwOptions = 0; // 设置连接的建立方式 + q: Z3 u" j7 A& }
CDBVariant temp; // 数据库数据通用类型
: z( G9 U: e2 ^$ O# D$ O! V int result; // 储存返回值的变量 ! C% U7 B r4 [. Y/ H7 R: U; V2 r% N* I
char cyl_height[133];
: K$ I$ `- M- z; ]6 e char cyl_diam[133]; " M% ^' \0 I, F2 c; F0 U- s
double *cylinderValue = NULL;
1 p5 c6 U$ w0 {& A" S6 Z# v" m C7 x p3 W/ J, W5 b
try
1 H% a( s1 v# u! t) z {
; p5 u- ^4 V' O& [* w, E; B 6 V. `8 q1 O, Z& S3 B
result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库
8 H) a2 j; Q! j- i' L3 o& B+ D if( result != 0 ) // 如果成功打开 & ^! W/ ?* Z4 W5 ]0 o5 V' e
{ $ C, n% k, C, P$ }' i7 ^, s
CRecordset rs( &Database ); // 定义记录集 $ A1 m* r" r/ j1 }" L! w' j5 U0 m
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )
# N& h+ H1 h% j" N! g6 I {
6 j7 h/ I8 g& T6 s7 a4 T) l( h9 D rs.MoveFirst( ); & z2 i5 c' b6 ]! l' _) s
short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目
f9 C! ?$ A" |0 k w$ s$ y while( !rs.IsEOF( ) ) ; e+ t2 r) `* E- p- l( ~
{
* I: N0 A( u; W% \& s1 c2 f0 y cylinderValue =(double *)malloc( nFields * sizeof(double) );
1 r& n8 R1 n( V! Q for( short index = 0; index < nFields; index++ ) ' w1 `! m* i3 t: B) R
{
4 _# Q1 `" e' \! e1 H rs.GetFieldValue( index, temp );
4 r6 |/ k. r* k cylinderValue[index] = temp.m_dblVal;
6 a6 `: w9 r! y8 E; h }
. D( O1 q* M: o4 o# j3 Q sprintf(cyl_height,"%f",cylinderValue[0] ); 9 k1 o1 I+ E5 F5 o
sprintf(cyl_diam,"%f",cylinderValue[1] );
6 h! u \: U, T" k) q, e% q
' f) u: R9 H3 S- x! H3 y/ T0 R rs.MoveNext( );
, U a; j) Q# f+ k" s3 g5 f* V free(cylinderValue);
5 _( h" u5 e0 O7 l# V& A( {* B, ], h }
/ k( |, k& G6 F2 a rs.Close( ); // 关闭记录集 ( k5 }- r! @% J$ D
} , e+ L9 h* i l* p) k9 `' T: Q
Database.Close(); // 关门数据库连接
* w+ b) G; Q/ a$ e2 n: y. H3 n } % {% s. I: M5 c# L$ h
} & X% [5 z( b5 D# d8 o9 Q- E
4 i0 {' ^; H! ?( {* e/ t# K' |
, a* F" k/ \& ]: d
caTCh( CDBException *pe ) // 出错处理
* { O& w9 p& K2 i { # G8 k4 u. \2 d, {7 Z8 z% z' d
AfxMessageBox( _T("Exception!" )); / \; X+ g; V: q ^- |9 j
AfxMessageBox( pe->m_strError );
- d. [$ P; F% [ pe -> Delete( ); ( ]3 I3 j8 n' P6 I1 Y9 T/ B
} 0 J- w6 b% Y2 D3 E" J
}- s4 O2 C' j$ _! k
5 ]+ |& m, O; d* s# H
1 X$ |. @0 ]9 y6 ~/ _8 N1 t; r/ f6 e! z5 s( V8 }, ~; Y! C
|
|