|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
' V) D' ?5 s0 a3 ?' Q4 E3 W. L- O U
头文件,加入 #include <afxdb.h>. P# C: ~$ w) g7 K# q! A$ g9 D
1 o% W. C7 ?8 S. Y
void excelTest::do_it()
8 [, V0 q# ]; C* ~6 _6 T{7 ^! V% v6 K$ h0 A) f
9 a9 [) O0 t- p. ?7 x // TODO: add your code here
8 I4 Z/ R2 G2 _0 h1 m( b _
3 [' P# @0 P0 c$ t' d/ j CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse
2 p# e1 B& q! X7 L% A3 n( i CString SQLCommand = "select * from plmhome"; // SQL查询语句 9 h# B) A5 t3 B# [
DWORD dwOptions = 0; // 设置连接的建立方式
& q/ g& Z S* u CDBVariant temp; // 数据库数据通用类型
# c |: v; }7 P0 t int result; // 储存返回值的变量 " I! M! f2 P4 M( L5 V
char cyl_height[133]; ( `, f& T; ]( J) s7 J/ _6 F3 r% K
char cyl_diam[133];
; f/ u% P" [5 L ~4 \4 ~ G. d5 W" G double *cylinderValue = NULL;
7 u7 N1 P5 S. F5 j5 w; c) b% X1 Y% Q. z# P4 S
try
/ K$ S9 |' H! t5 O {
$ T& J# O7 z5 U( T5 O. P. U5 g" q
* U" _3 d9 O7 p% k, t* ]3 p, g" k result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库 3 p0 u9 A f& v U; h1 t
if( result != 0 ) // 如果成功打开 & _ o( l4 S" z' Z; X
{ ) v9 S& C7 L9 W3 Q
CRecordset rs( &Database ); // 定义记录集
" v) Z Y& Z5 K if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )
9 y( k/ ^, x2 M, ~6 ?* E {
$ w( u4 Q: b. t% s4 C6 W rs.MoveFirst( ); 6 v( y$ W" ^2 f% R$ `) K$ P
short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目 / ?. ]5 L: V$ o9 ^; Z
while( !rs.IsEOF( ) )
& v: L: V; y" T, ` H' d {
8 z3 z4 u: V+ n! n cylinderValue =(double *)malloc( nFields * sizeof(double) ); ; R/ v2 K/ p5 U1 ^" Z
for( short index = 0; index < nFields; index++ ) 7 k4 I; k0 w7 O
{ 8 w$ `6 L/ A7 w7 E9 e
rs.GetFieldValue( index, temp ); # [' a0 D! J: W* a! O) E
cylinderValue[index] = temp.m_dblVal;
- ]: V" |: x) P9 ? }
: N3 u! M8 o- M( P4 P2 Y sprintf(cyl_height,"%f",cylinderValue[0] );
2 L: n1 N! d. D) M+ x) T sprintf(cyl_diam,"%f",cylinderValue[1] );
- _# A2 r# ~; X/ P1 ~( S
; ^% q0 V9 ~8 W2 @: ^# c rs.MoveNext( );
& B" r# U) X: l free(cylinderValue); & A. G+ V1 e7 R+ X0 j/ e# D: b' k. B; A
}
( N! M7 e& ~+ c0 P+ x rs.Close( ); // 关闭记录集 . h& y- Q# b% F: n- R: b" @
} ' d6 J4 G5 z# w
Database.Close(); // 关门数据库连接
8 B) f+ h+ Z8 ^$ G2 o# e3 r$ `0 U } , s- j9 z0 w* D% u4 D1 z
} 7 S- |* }: j. [* l) b3 ?. s
# P( l, V, y% |, }
, J9 J6 ~4 s6 A( vcaTCh( CDBException *pe ) // 出错处理
: _1 G+ }& l0 D7 f# I- V" H { : p+ [" [( J- V; d8 |% L1 v; w
AfxMessageBox( _T("Exception!" ));
# f% x+ p* G* R) I j6 p AfxMessageBox( pe->m_strError );
m* V3 q- y5 E: | pe -> Delete( );
! {5 B0 |% q* i b } 1 a. m$ F( D: j4 o
}
+ D5 C% s6 {/ i8 f/ w( B
: Y" G: @* ?: l6 D3 A
2 g" X k* ]8 U# s' @* D* d6 G& m+ l: l) x( M u. K
|
|