|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
: h2 X6 g O1 w/ d" M* @头文件,加入 #include <afxdb.h>9 l; g7 g+ f$ x7 B7 }
l4 U0 k9 W+ m! u! ^& o& y
void excelTest::do_it()% p% i# l$ b5 s& Q9 k8 o( F5 }
{1 k/ B: o0 O2 H6 @; A9 B; s1 N1 j
; p, M; Q q; Q2 H // TODO: add your code here4 n& [! |; ?1 h3 Y0 j- H
& @; Y4 V8 V4 r( r1 B
CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse
. Q5 }% m ^5 |; x# t CString SQLCommand = "select * from plmhome"; // SQL查询语句
. `/ |6 `0 \/ A& l% Z4 y* [ DWORD dwOptions = 0; // 设置连接的建立方式
8 K/ I( ~. H0 r t! T# e9 _ CDBVariant temp; // 数据库数据通用类型 & A! C2 c! f7 O+ Q5 X' E
int result; // 储存返回值的变量 6 }7 R: o9 t" u
char cyl_height[133]; `* b v' l7 K! Q: S7 Z
char cyl_diam[133];
6 g8 H: o: \$ ~' |: R, w. K6 _ double *cylinderValue = NULL; j' \+ S9 y. S
2 i8 n, A6 d, l/ I/ g try 8 ]2 s4 a E4 a) c3 ^; [. ?
{
, m; k; x5 Y# }5 j/ |( x3 X ' c2 J4 h+ I0 Y+ U/ e1 r
result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库
( o4 n! S/ j/ r3 B7 [6 X if( result != 0 ) // 如果成功打开 # `0 e) ?1 B1 I
{
' J6 M( G0 I, @4 X' m CRecordset rs( &Database ); // 定义记录集 + ~4 `0 F$ j6 S
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )
0 I U3 m: `- l, m! `3 H g. M {
. l; `& R" j% v( m+ r rs.MoveFirst( );
( d3 t. S# p9 I7 m( ^& T: @ short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目
9 h2 H; M: a2 u- e& p2 y+ V while( !rs.IsEOF( ) ) ) t- _: n& [/ s2 |5 i
{
$ y- o" K- w7 F0 X) T cylinderValue =(double *)malloc( nFields * sizeof(double) ); 6 r, u9 ~+ K% ~. a$ O$ V0 |
for( short index = 0; index < nFields; index++ )
$ z& q, h* T7 T+ b9 l { 3 k F6 s( m" I8 E0 w( F S8 _. k
rs.GetFieldValue( index, temp ); ' g2 V7 h; `+ m( B5 @, y+ Y% u2 B3 X
cylinderValue[index] = temp.m_dblVal;
; H" m0 |6 P- G/ t2 T; T; Z } 2 F8 T5 e3 d0 L6 j2 ^
sprintf(cyl_height,"%f",cylinderValue[0] );
# f1 Y8 i% h- H8 Q. i/ G sprintf(cyl_diam,"%f",cylinderValue[1] ); 7 S5 \' G. ^; F5 x8 V7 K
' m1 f7 F& P) M" }! B0 P2 r; H rs.MoveNext( ); 0 m1 y; `8 D6 x/ A& [ _3 z
free(cylinderValue); 3 a9 ]% ?; S, k1 ?0 X
} # c3 D3 W1 R" T2 \+ T7 F9 a4 L
rs.Close( ); // 关闭记录集
% a6 B: f; d7 ]$ S& V! v } ! L0 M) f8 `" V6 `
Database.Close(); // 关门数据库连接 6 P3 V9 s, I0 g) }9 I- y/ p, Q# L T! {
}
; R; Z6 i+ L/ ]% b; s }
$ z: ]8 X7 J; S1 K% ]+ W/ e2 v) J
# H& q8 C' L& D! D5 V8 ~
7 V4 l6 ~9 S- O) W* `caTCh( CDBException *pe ) // 出错处理
) G1 S. L+ i- x, I {
3 F \4 ~8 v! N6 T2 D! y1 E AfxMessageBox( _T("Exception!" ));
8 g# J) d" r d+ G AfxMessageBox( pe->m_strError ); " g: K1 q8 K' K
pe -> Delete( ); ; s1 j% z8 A% `4 L+ }+ M
}
6 U$ j7 L9 Z- ~# E! D( r7 t2 j" d$ k2 b}% ~5 Q2 J9 c$ k
+ X& A3 f9 M9 G
- c H6 @; P2 Y. L; [* {1 d
' n8 k3 B. u8 T* w3 Y% E4 u |
|