PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2014-11-10 15:43:38

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

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

x

7 F% C: S" a" a2 ^' K头文件,加入 #include <afxdb.h>+ f0 v' D& P' |

3 X" ~' g) N) L8 l* rvoid excelTest::do_it()
/ M6 I% D: G7 @# `/ ?' c4 `( W, s{
% J- G: e% c/ _  m1 u$ ]
* v6 }5 l3 k! h        // TODO: add your code here
" b3 }6 _# e0 V* {1 U8 Y" M: x
, Z% [" w) j( p/ L( \2 a0 ^. d        CDatabase Database;     // 定义一个MFC的CDatabse数据库类对象Databse 2 N, P- N" d$ X# d1 ~
    CString   SQLCommand = "select * from plmhome";     // SQL查询语句
/ P: r* C3 r2 {7 s% Z+ m    DWORD     dwOptions = 0;    // 设置连接的建立方式
  n; `; @- f0 F) j3 g7 b- i5 Q% C    CDBVariant temp;        // 数据库数据通用类型
1 K' J% L: Q5 x$ Z4 m$ C    int result;             // 储存返回值的变量
9 c3 {; F6 H+ X    char cyl_height[133]; 6 E1 O# y+ O' a  l) ~6 [
    char cyl_diam[133]; % O* ^7 B& x7 S7 L
    double *cylinderValue = NULL;  
% E" q; i: o; w  U* [* `( i
3 p# v! a1 L* C5 C5 C    try ' j* [" i3 \" ]' ?" T
    { : s" w7 |' G7 @( J: @0 @5 B$ Z& _
               
9 `1 @1 n  |) y        result = Database.OpenEx(_T("DSN=plmhome"), dwOptions );  // 打开数据库
  J" a  ?4 G  R5 o        if( result != 0 )   // 如果成功打开 ! y" Y: ]0 m0 i7 @" g
        {
- g0 h- [& N; o( s7 n3 g            CRecordset rs( &Database );  // 定义记录集 # [' L. |" u% i$ x# x& u
            if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )  
( ~+ ~/ w5 S) f) n3 r" C            {
0 Z6 f: Y9 o* g0 H" @1 _                rs.MoveFirst( );     % T: ~; c% p; I$ g( J
                short nFields = rs.GetODBCFieldCount( );    // 获取记录的字段数目         
9 X: ~0 C1 C) H7 U                while( !rs.IsEOF( ) )    * S# }+ m' x2 o4 H9 _* v% F2 a, }
                { 5 l4 @  e$ j% {5 h6 Z
                    cylinderValue =(double *)malloc( nFields * sizeof(double) );
* i) u+ s" @  ]6 z& F, [6 _- W" w& ~                    for( short index = 0; index < nFields; index++ )     
- [* C0 |/ K( _& B8 \/ a0 s* b                    {
/ h3 q: w/ }/ g3 s                        rs.GetFieldValue( index, temp );  , u( T- k- a& z  }& {/ [! V0 j
                        cylinderValue[index] = temp.m_dblVal;                                    
# r- k8 d7 f; ^7 g& K$ D( C                    }     
3 E  y* s0 m$ G8 Z5 \, M( N                    sprintf(cyl_height,"%f",cylinderValue[0] );
/ T8 A% D& Q5 Z7 s6 b6 F" v                    sprintf(cyl_diam,"%f",cylinderValue[1] );
5 g" l' f4 |% z1 }/ r' W/ ^9 G7 K
                    rs.MoveNext( );  
0 |. A% l. G' m, P* t7 [( ?* I                    free(cylinderValue);
0 u1 ^* j( E% I0 [  I! ~/ [, w                } $ Z  v' P( Z: f5 q  A
                rs.Close( );    // 关闭记录集 : z! F1 y+ e; d7 I5 z
            }
7 D$ X$ y7 v2 \- D& H* t- i            Database.Close();   // 关门数据库连接         ; q2 D- _: w) h3 t( v& N
                }   @4 j1 r3 n  D6 y9 F- ^
    } 9 o5 k* S- {8 j6 y# u7 z4 j( Z3 T+ d
; b' W2 r* y% ^# K& S& S" a

- [9 ^4 {% u: Q; {5 d9 ~0 mcaTCh( CDBException *pe )   // 出错处理 - i& Q' f9 E1 ^! Q
    { 0 ~# a+ {# w* |
                AfxMessageBox( _T("Exception!" ));
* j+ m" p5 G# }6 |1 G        AfxMessageBox( pe->m_strError ); : t+ I7 r" W, q) O) D6 ^
        pe -> Delete( );
$ m7 r9 n  O) C& a% M8 D: h    }
) S9 D; M! n; }0 P( m' W}7 s6 w( h" b5 C5 ~! X
( N0 E7 S4 l7 c( i

8 D; i' j" d' a2 n; p8 _- R4 t1 u0 x# ?* `. B
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 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二次开发专题模块培训报名开始啦

    我知道了