|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
5 s" b4 p. w6 I& S2 [2 i
头文件,加入 #include <afxdb.h>9 X! h% q, v7 `) z% Q+ `5 F! R
7 u# M( T V: `
void excelTest::do_it()( t) N3 K" J7 w3 T9 @
{; m5 k$ N2 t- T, L6 j0 _) y
" Y" f. h {$ }1 G/ u // TODO: add your code here1 W8 S( K8 A6 x5 {
& E; F* ~% `: L9 Q% v CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse
3 V" n K: f7 Y CString SQLCommand = "select * from plmhome"; // SQL查询语句
# d3 P- e) T9 H DWORD dwOptions = 0; // 设置连接的建立方式 4 ?4 \! H+ g# W3 p- s Y) }$ G
CDBVariant temp; // 数据库数据通用类型 % R: v y+ K( Q2 D1 c; E/ M# @
int result; // 储存返回值的变量 ) o* {1 g6 S* ]4 G# G
char cyl_height[133]; ( H6 f$ O, i" o# d. i
char cyl_diam[133];
) X/ e G1 |1 ?1 ^6 j- ]8 G double *cylinderValue = NULL;
5 p& _" m! f U' ]# w( o8 ~1 o. X3 ?$ o( Q# n2 K) j: U4 x
try 3 v; J, W3 E, s
{
* i& B- D6 ?+ Y3 W " @# _4 c& i% z$ h% g- R
result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库 6 A+ N* ?" y7 z I' n. P
if( result != 0 ) // 如果成功打开 7 ~6 c$ m* ^; r I- D. J m
{
2 ~( x, |0 L( E7 K1 V, ]; C- l CRecordset rs( &Database ); // 定义记录集
. u. ?- W, }" k5 T8 i if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false ) 4 y9 R+ O' i/ Y7 {, r: I. l& l
{ # I: T! B+ @' i, R! D
rs.MoveFirst( );
# l5 V) `( Y* g2 v short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目
. m* g+ ~ I* `- `; Y while( !rs.IsEOF( ) )
, _/ ]. c, V. e5 z5 i { ; B$ [+ B% g f, s( W
cylinderValue =(double *)malloc( nFields * sizeof(double) );
6 S+ B1 i" F1 _( r9 T) F/ {4 x for( short index = 0; index < nFields; index++ )
8 O4 S/ e2 s% i; a$ ` {
; ^8 W! k* D. s* k, b rs.GetFieldValue( index, temp ); 4 w6 U. d, H' V
cylinderValue[index] = temp.m_dblVal;
: ~% y1 @3 v# }6 G& N6 {; a }
+ X; w& [. y; ]9 \4 G sprintf(cyl_height,"%f",cylinderValue[0] );
+ E! a8 W, v6 e% c) P' c& t sprintf(cyl_diam,"%f",cylinderValue[1] );
9 S |2 A0 f* A3 t! Z H* J7 F
/ z! L# m O- l* @- i" s) m7 @' R rs.MoveNext( ); 3 g+ U; r$ J3 F- r( I$ |( P9 a. n* e
free(cylinderValue);
& D8 j" C# m: O; m } ! I4 i2 i5 y4 f4 n" v
rs.Close( ); // 关闭记录集
( K- Q9 f4 W- q, S5 i( J1 V- I } . b* f# R$ F5 {1 k1 G. `
Database.Close(); // 关门数据库连接 ) K9 U# o5 V' U% z
} . B+ E6 H n$ z$ |+ A. G
}
( X1 A9 Z( E- X
W5 }( T$ k$ k. _
( J9 T ~4 l( l) rcaTCh( CDBException *pe ) // 出错处理 3 H2 T3 i- E [. Y" L2 Y* I
{ . V6 w6 B) A# g, E
AfxMessageBox( _T("Exception!" ));
, V1 b: Z3 n. B; v( L AfxMessageBox( pe->m_strError );
8 \( \) K$ j1 z& U pe -> Delete( );
( v8 e |* G0 I1 p6 c7 x% Z2 a& q } $ n7 Z) a; A( K9 h5 D
}
+ F4 o$ P2 m; F; d3 }) }
( q. d. C- f3 b- o% U8 Q& f
$ B5 o, @, s* X% ~* Y% m* A2 j. r$ z
|
|