|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 Y5 D4 Y$ @, J% k# L头文件,加入 #include <afxdb.h># K( H- |# D1 m }8 ]( ?( q6 d
! O: g( t& M# n+ g) Mvoid excelTest::do_it()! M9 Q0 J/ w4 G: `5 e
{
6 @& N6 y" {( t
, }' h, l9 j5 H6 \1 w: K% Z( o2 I // TODO: add your code here
( S8 B/ U% K5 @. F4 j- m% q
% @: [) Y$ H1 Y' y CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse
7 m+ |- |8 E* b' U CString SQLCommand = "select * from plmhome"; // SQL查询语句
5 K9 z# g% Q) F6 L% g) e DWORD dwOptions = 0; // 设置连接的建立方式 & |' i5 q( m5 l6 P" k
CDBVariant temp; // 数据库数据通用类型 8 R! A4 G _3 ?+ @
int result; // 储存返回值的变量
, ] ]4 l8 e, f) f3 B- J: Y char cyl_height[133];
0 ]: Z9 c5 m- t5 W* w* [ char cyl_diam[133]; 0 q. G+ H' X. w. v, D% D
double *cylinderValue = NULL; ( I- g7 K- _. W. t: y. u
( t9 G; n& D9 i try # G5 p+ `' Q- K# e0 ~ _
{
+ p* a( Z% r; s. w0 B- j
; N, t9 R! d, z0 P7 g8 m- P result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库 1 o9 D4 u7 ^1 s z; V7 I! b$ B! G
if( result != 0 ) // 如果成功打开 V0 d$ d/ z8 F/ c* O4 \% R5 A
{
. [# T6 B1 R. k. v! e6 F+ F CRecordset rs( &Database ); // 定义记录集
3 N% ~8 ^$ u" W" l- b* ~ if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false ) 5 S& y1 Q4 ^$ m5 ?7 [
{ 0 J3 `- H9 T3 H e+ c
rs.MoveFirst( ); 1 k; j6 [& L# g) ^
short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目
' U& u# T' q' g' }+ l2 } while( !rs.IsEOF( ) )
; h$ x& X$ m5 I0 i( r6 o { / j; q2 l% \0 E
cylinderValue =(double *)malloc( nFields * sizeof(double) );
4 l- x! u/ w! _' [* Y9 @1 @ for( short index = 0; index < nFields; index++ )
% h% E: U& y) l, k+ S {
7 S, w4 U; J. V, a6 i( Q1 D rs.GetFieldValue( index, temp );
. T' @1 `. c) q3 T- y: d cylinderValue[index] = temp.m_dblVal; & E, A1 M+ H$ Y6 J2 e
} . D0 R8 b8 M: o
sprintf(cyl_height,"%f",cylinderValue[0] );
' U, `8 q' G) I1 M sprintf(cyl_diam,"%f",cylinderValue[1] ); 2 E( I, {. ^1 |
8 a' B2 f. _8 D
rs.MoveNext( ); 3 O4 l0 T' s( ~& K
free(cylinderValue); * a) e/ H$ J9 y2 D3 M7 p* r
} t: K# V+ w4 p% \2 k
rs.Close( ); // 关闭记录集 ) Q0 X$ x8 O7 M: J
} 1 N- k# _) X1 s$ }9 A; p- k L
Database.Close(); // 关门数据库连接
- h9 b$ U8 m( Z1 ?) _ } + L9 t8 Y n9 m' U/ j
}
3 N- @' m. X. O n; {( J( {' o! A( p) d! O' [- M
9 M2 {2 h1 [) f9 U5 ScaTCh( CDBException *pe ) // 出错处理
& s% |' D" s$ K { ) c9 x7 F# J# t6 @: L6 U) N8 M; A
AfxMessageBox( _T("Exception!" ));
. o& n, {* S( D: c- ], s; ` AfxMessageBox( pe->m_strError );
: P/ ?' a2 |* S2 J" l; W pe -> Delete( );
4 i: I4 C+ ]" X } u+ J- J! }; L6 a! z, d
}3 {& ^: v6 y5 d& |' [/ U) K
' a/ Q/ u$ C z( ~3 v7 o* p1 E5 ?6 z" i( u$ ?* i/ \
! s- b( ^) i5 {( o! k |
|