PLM之家PLMHome-国产软件践行者

[资料] NX二次开发源码分享:使用MFC数据库的方式访问excel数值

[复制链接]

2017-3-30 16:07:29 4302 1

admin 发表于 2014-11-10 15:43:38 |阅读模式

admin 楼主

2014-11-10 15:43:38

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

x
: T, B4 r# U2 Z6 Q
头文件,加入 #include <afxdb.h>
1 h3 H: X/ [' a  J8 C8 T
# S+ F3 \. I, F, uvoid excelTest::do_it()
) E8 |% R8 y4 @{. v8 z4 e) J* T6 x8 R% k
1 k/ t4 [, b/ I5 ?4 `6 Z+ h
        // TODO: add your code here/ \! X; n! r1 C4 H3 f, ?0 C* k2 ]
% x% V; u, Y1 E- p9 v! J6 }& x: _
        CDatabase Database;     // 定义一个MFC的CDatabse数据库类对象Databse
7 I( y/ V: \; H3 \, Y" V    CString   SQLCommand = "select * from plmhome";     // SQL查询语句
  ]" Q/ K$ j& S3 l. h1 U, V    DWORD     dwOptions = 0;    // 设置连接的建立方式
4 t9 u3 L" c; B0 I) r- a    CDBVariant temp;        // 数据库数据通用类型 $ D$ {; Z* g% H' {
    int result;             // 储存返回值的变量
: u% ~7 r4 H4 J! E7 y" w    char cyl_height[133];
: D. @1 l' o- N! P/ y+ ?    char cyl_diam[133]; # K, M  |) ]* q" E% x3 g
    double *cylinderValue = NULL;  
" Q# {* A. ~+ X& q' X% _7 R6 L4 ]( T
    try
; m+ a$ d1 ]: D1 p. G$ X    { & u5 A6 O% G& N4 L( b* u
                ' K. n- x2 J7 I7 \) U0 c- f1 U
        result = Database.OpenEx(_T("DSN=plmhome"), dwOptions );  // 打开数据库
7 p4 R( t5 @% ]2 Q+ Z, n$ D        if( result != 0 )   // 如果成功打开
9 r" F% h8 l! B  C        {
' D6 J9 P/ e) f5 R  x            CRecordset rs( &Database );  // 定义记录集 - q9 f* F1 T2 n' w7 u( I
            if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )  
; ]" P  [  \7 X, W$ B            {
: R) @0 T4 J/ Q                rs.MoveFirst( );     # P. l$ X$ }1 y8 c$ s  T0 j) q
                short nFields = rs.GetODBCFieldCount( );    // 获取记录的字段数目         
1 ]; L7 {* e0 A% Z, @: C$ M0 y                while( !rs.IsEOF( ) )    . n1 ?8 e1 |1 x4 R9 `" i5 R% w
                { ) W, @( S: f3 ?0 [+ m8 O- X( }3 w! |
                    cylinderValue =(double *)malloc( nFields * sizeof(double) );
3 Y# G% m. r/ i. W                    for( short index = 0; index < nFields; index++ )     . n7 |2 ~2 E/ b+ }. W
                    {
$ P+ u9 M2 p. J  {1 `3 N' M& ]                        rs.GetFieldValue( index, temp );  6 W2 B& c) I0 P* \
                        cylinderValue[index] = temp.m_dblVal;                                    
8 ~" o3 X5 e$ l5 c3 @3 Q' a* T5 Y                    }     
5 Z3 l; Y; g4 C: p; L7 ?( }3 V                    sprintf(cyl_height,"%f",cylinderValue[0] );
$ e2 l2 Q8 u+ y% h                    sprintf(cyl_diam,"%f",cylinderValue[1] );
& S2 \4 l; E' m/ }- s
( R! n  S4 r3 p( \$ V                    rs.MoveNext( );  : I' z' r: C+ P5 L
                    free(cylinderValue);
+ G/ b3 s. M, ?- ?                } / T1 F' d* ~' ?5 D3 Y
                rs.Close( );    // 关闭记录集 6 S- c, e. X; @* [
            } , t+ v8 c9 C7 ]8 z( [
            Database.Close();   // 关门数据库连接         
  y" C6 @% R  h) Z1 ~. H7 ?                }
% e1 l# M- H& O# `    } . ]$ V( `3 V& j0 [

, L4 X1 D/ z* B7 V
7 R- X6 J1 Q* [* Y, XcaTCh( CDBException *pe )   // 出错处理
# Z" k5 a( c* ~9 X3 {8 H! d" E0 _    {
. o! a% I0 s; p* Q$ \                AfxMessageBox( _T("Exception!" ));
# [! |, {2 M' `. g9 h" ~( X3 d% g( Z! u6 L        AfxMessageBox( pe->m_strError );
8 {1 U4 W9 g+ ~! C$ c$ B4 P        pe -> Delete( );
. D( {  N9 Z2 z; i/ Y( H9 R    } 9 l3 l1 F9 E# y* h' X. S, B. ]
}6 K/ t. A" O) ]% W4 r, c8 s
/ I9 O; R2 N: v
- K: ^4 B4 }' Z  L) n
  p1 l& `' d! t5 ?# l
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复

使用道具 举报

全部回复1

c1_wangyf 发表于 2017-3-30 16:07:29

c1_wangyf 沙发

2017-3-30 16:07:29

这个运行的怎么样,上个图看看
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.diantuankj.com/ doTeam.tech
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 注册

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了