|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
×
$ y7 T" ^4 p3 h
头文件,加入 #include <afxdb.h>, A- B0 h. ?! o, B
/ p# }8 e/ z$ w& s4 h2 i. Rvoid excelTest::do_it()
/ w/ q- F$ k7 P7 Z$ |( H5 a y{ {7 ~7 E7 H4 A$ E c4 x
1 P& H3 B; U' n( i" C" j, b // TODO: add your code here2 p$ @2 _6 G' a3 X
# v0 N8 o4 w, V3 K2 e4 U
CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse 2 |4 X/ J; T: n& N- l1 _
CString SQLCommand = "select * from plmhome"; // SQL查询语句 # Y, S& l5 [; Z
DWORD dwOptions = 0; // 设置连接的建立方式
% C7 T/ z# t+ Y! E3 { CDBVariant temp; // 数据库数据通用类型 $ R* s" W4 r6 z/ y
int result; // 储存返回值的变量 + n- {0 ]6 Y3 m" U& E
char cyl_height[133];
0 n$ k! R6 [; W: Q! n( }6 s. [( R8 Y char cyl_diam[133]; ! @ C! F% U, N" ]) |9 g3 ]- W I
double *cylinderValue = NULL; 4 f( [! n2 Y) |
. t- B9 Y% A [# u try
0 x/ v$ @! E7 |; D) O; [) A { c$ r0 D9 n+ | [
8 d; J- V9 B; W+ L* V* ^ result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库
' V1 Q' }1 ~, ^8 m. y/ G/ f if( result != 0 ) // 如果成功打开 ) Q+ Q* V) C' o' n D- D9 W
{ # Q" S% ]3 k5 C# r& t" b: t9 v
CRecordset rs( &Database ); // 定义记录集 + Z5 Y( c/ ]) c( u* J! u7 ?5 j F1 I
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false ) 4 O7 G' [# _, a6 @9 U
{
1 I `2 I2 {" h1 _! p- Z rs.MoveFirst( );
" P0 u! V3 E% N% g$ o! f short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目
8 Z8 v& ]5 f+ V+ `9 c while( !rs.IsEOF( ) )
, I7 G. U" a5 r+ i$ s {
$ ~8 M) {9 N# P, J6 m9 N cylinderValue =(double *)malloc( nFields * sizeof(double) );
, a1 h; z% a" ]4 j) i for( short index = 0; index < nFields; index++ )
, x2 v' Z4 F$ b7 g1 t" f! a { . m# }9 B" e: q, p! h/ i9 ~) q3 t
rs.GetFieldValue( index, temp );
3 C5 p1 W! G' u- A- G$ P cylinderValue[index] = temp.m_dblVal;
8 R: s$ E |6 \& M8 ]0 G( W% S }
' @/ x2 A9 p6 j; v sprintf(cyl_height,"%f",cylinderValue[0] ); & A3 G$ C5 I# _& S
sprintf(cyl_diam,"%f",cylinderValue[1] ); 0 z/ ?. P! j$ C0 x
$ p- T3 C/ ~) q1 w- j2 p rs.MoveNext( );
$ C/ n: S# E1 _1 |( {9 @4 ^ free(cylinderValue); $ @4 Q6 F/ v* O! U: ]1 Y1 ?
}
& e! \& Z% ~: ]. d rs.Close( ); // 关闭记录集
# e: x- L" R1 R+ O } 2 I& U7 D/ _6 h, `
Database.Close(); // 关门数据库连接
0 G3 E$ y! E" |* X3 [8 K+ D }
7 g5 p6 g2 _, K' p1 ]3 \ }
( y; i8 g' |- W8 N7 h1 O1 _. v' t2 G7 O) a8 G3 M
( V0 I, r& P; l8 V& t2 LcaTCh( CDBException *pe ) // 出错处理 ) J" N( z1 g+ n9 Q" v- X5 }) `
{ / @: f& B* Y: `$ w( o
AfxMessageBox( _T("Exception!" ));
7 v+ k3 b! r& f7 e/ u! J AfxMessageBox( pe->m_strError ); 4 Z- P2 Y. t- [* x6 y6 P0 e
pe -> Delete( ); ) h y! Y: C8 k. |
}
T4 L3 u* B7 a" F, E/ h}2 _5 `1 h" \. X) Z3 b$ e2 T
( K: ]) n4 [% [4 S# z& w0 y! J2 }, ?0 z
9 c& ]4 Y7 @, Y+ X$ O
) W0 H; _. f, k: _- U8 h+ U |
|