|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
, D8 Q+ T- j7 [5 d1 O3 o( j% ^头文件,加入 #include <afxdb.h>
$ s4 v2 {7 N! Y* g$ S6 Y6 \+ A N. s* y
void excelTest::do_it(): N2 D: s1 ~3 a, c: r8 |- x1 l% s% c
{) m$ {! @. U. N$ z' W. b
8 q8 K ]1 ~6 [* N8 u // TODO: add your code here
* j' b) a6 w5 o9 ]( U) Y% |, n5 G' V. l3 G
CDatabase Database; // 定义一个MFC的CDatabse数据库类对象Databse
/ n; \$ ?) F' k2 b* ?# A CString SQLCommand = "select * from plmhome"; // SQL查询语句
8 j s/ A2 O( l5 Y Z; o- [. J DWORD dwOptions = 0; // 设置连接的建立方式
l+ \; U. Z" q, B* K6 g CDBVariant temp; // 数据库数据通用类型
. ]0 f- E E6 ^4 G$ a8 N int result; // 储存返回值的变量
2 _+ u% [5 Q2 y9 f2 o! `! d char cyl_height[133]; ( G$ D0 Z3 f, B/ r
char cyl_diam[133]; $ ?1 M! F' S9 E! K7 Q8 F
double *cylinderValue = NULL;
+ p$ x2 ^; ? e; [# t- V/ s* y; y/ U! V1 e$ ~ T3 @* u
try $ v! v" ^* B- L+ ?: |* B
{ 4 B- D) ]: @! s" x4 S, f
& v6 l! F0 p; L' @
result = Database.OpenEx(_T("DSN=plmhome"), dwOptions ); // 打开数据库
" h5 M- X7 Z* ]/ }9 m2 M if( result != 0 ) // 如果成功打开 ; w# Z1 z9 S0 v' N: g! J l6 \
{
. C$ s7 V9 l7 C Q CRecordset rs( &Database ); // 定义记录集 ) l$ U" l! s4 P
if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )
) o' m4 }: {1 h. Y; E {
% _9 j) A% R+ t& Y% D rs.MoveFirst( );
o9 z% z/ p5 o9 g short nFields = rs.GetODBCFieldCount( ); // 获取记录的字段数目 + ^8 r3 [0 w& l G
while( !rs.IsEOF( ) ) % J7 u7 _- D9 F0 s# C- i4 I
{ 2 M+ D) E+ H) E5 m3 Y
cylinderValue =(double *)malloc( nFields * sizeof(double) ); 5 Y6 E0 I0 E, i7 o$ X
for( short index = 0; index < nFields; index++ )
6 j: K$ `0 S) m/ \ {
?$ t0 A: M! L) ~: T2 `0 f rs.GetFieldValue( index, temp );
( x6 [7 l) u) j' K$ t' i& y cylinderValue[index] = temp.m_dblVal; 0 e" C. [: |, I2 u1 U- ^
}
9 B) y% A$ V: q sprintf(cyl_height,"%f",cylinderValue[0] ); 5 s8 b: v+ E4 ~% S. D$ M0 J. ^6 t
sprintf(cyl_diam,"%f",cylinderValue[1] ); : e* u3 n7 D' E5 T& |, @. g8 F
/ P0 F3 I- P0 p0 V) e5 V rs.MoveNext( );
- ?5 c T$ X% f: o free(cylinderValue);
% _ K+ B5 l% ^4 ~: V& M/ o/ I# p }
1 _* l5 ?) {. O( G0 u; ^0 C rs.Close( ); // 关闭记录集 3 Z: M2 W2 P. R: R C. ~7 U3 V
}
8 | A! S% ]# V* ~5 o0 `$ m/ r& | ]# n Database.Close(); // 关门数据库连接
" e8 E; P5 Q7 P }
1 j% h- i5 M* H. W0 R6 c5 L' c0 u } P( n9 g2 ?3 f2 S+ r4 N" q4 z
' F N0 B, X1 g
* ?& J# q' B; z* u! |caTCh( CDBException *pe ) // 出错处理 0 Q. }# z2 @ [7 v* o; ~% N$ ^
{
1 o# G- n& T. I, g7 k Y AfxMessageBox( _T("Exception!" ));
[; p' J! B- G5 J. T AfxMessageBox( pe->m_strError );
8 f( Q, ~" o3 K# S5 c" W% d pe -> Delete( );
6 G8 M9 z; H7 S* P } + J, B6 D5 n# R* j- }; D) n
}
: W5 n1 H4 N% D' Y4 t$ D4 }9 ~5 }2 p7 G! y
; A5 |+ K6 u7 o+ K- T m( d8 B/ [; v' g- b0 [* E
|
|