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

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

[复制链接]

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

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

admin 楼主

2014-11-10 15:43:38

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

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

x
! y7 b4 t4 b0 U# y
头文件,加入 #include <afxdb.h>2 O6 h9 d% X2 {5 C2 q) f, I

6 ^$ s9 I4 a; D$ Hvoid excelTest::do_it()6 R+ _/ }0 A4 Y2 E/ D, ^
{
9 j- A: [5 x/ i, K' S3 Y
; O5 u4 |! X8 y9 ~# c9 B        // TODO: add your code here( K% e+ s- @/ J) |
  I9 `( ?0 G8 C2 J. l& x
        CDatabase Database;     // 定义一个MFC的CDatabse数据库类对象Databse
3 r  {5 s- _8 y) c    CString   SQLCommand = "select * from plmhome";     // SQL查询语句 , c+ V- W' U  D: I& ?8 x$ Z, I. i" M* \
    DWORD     dwOptions = 0;    // 设置连接的建立方式
+ ~! _% O2 A, j2 P6 B6 N5 O  [* v. M    CDBVariant temp;        // 数据库数据通用类型
8 Z6 o8 H2 Y* A    int result;             // 储存返回值的变量 ! C% p! p$ \3 @# l; X# r& Y
    char cyl_height[133];
: b7 s# f. m# g9 x9 p- U0 c, ?2 I    char cyl_diam[133]; $ f2 m% q% ~& V; v9 S
    double *cylinderValue = NULL;  
8 y! q) o$ a: F) Q$ T
/ i1 Q+ J, Y- J8 U1 ]/ }) q    try
$ i- Q/ z: D# b6 J) j2 w2 j    { * ]5 U- D. G3 I4 E6 `
                3 J# n. m9 X/ H% I' E4 ]' u
        result = Database.OpenEx(_T("DSN=plmhome"), dwOptions );  // 打开数据库
  M+ C1 Z$ E3 e. g3 p7 J        if( result != 0 )   // 如果成功打开
1 r9 }* }$ ]1 N2 J6 D        {
; Y+ X. }9 \6 h# q) ~4 t            CRecordset rs( &Database );  // 定义记录集 . y4 P& t, x( h! a. I
            if ( rs.Open( CRecordset::snapshot, SQLCommand ) != false )  , Y  S* v. n4 x# m2 b& Q* W" i
            {
  N6 v+ t- {1 W) R) z" e                rs.MoveFirst( );     
0 ?6 n3 r$ F/ j                short nFields = rs.GetODBCFieldCount( );    // 获取记录的字段数目         
: c: p4 Y+ ]7 O" R. S1 o                while( !rs.IsEOF( ) )   
. _4 }" l" T& g+ x4 a- S  `# l                { ) w" O- L8 h6 e6 f" a
                    cylinderValue =(double *)malloc( nFields * sizeof(double) ); # T5 K. Q% D5 ^8 p5 E9 r5 t2 u7 A
                    for( short index = 0; index < nFields; index++ )       A9 Q0 P- \2 q7 @- \& w( O
                    { 9 p  D% ^4 W  V9 u0 t& d- u. d; S
                        rs.GetFieldValue( index, temp );  ) y9 W6 n) |) W/ e
                        cylinderValue[index] = temp.m_dblVal;                                     ; N# Y: w0 t- X7 w
                    }     # t$ V* L3 g1 J- |. c5 ]! M9 C! c9 ]
                    sprintf(cyl_height,"%f",cylinderValue[0] );
# r, Y, R7 P2 Q                    sprintf(cyl_diam,"%f",cylinderValue[1] );
) i$ N' m$ _0 U  \) m- i- X7 L5 [8 @4 |( }* \4 l
                    rs.MoveNext( );  & N1 ?+ q- i- t2 k3 D0 n
                    free(cylinderValue); 3 e6 D9 V, l4 P4 \0 l- Q
                } + R6 [3 v6 {5 P3 L" f
                rs.Close( );    // 关闭记录集
. ]5 k1 [$ F/ h- x            }
& G7 c( i- m, V" d, j            Database.Close();   // 关门数据库连接         
& ^$ C# l: {/ y3 c                } / o6 M) x# L. p# {9 C
    }
! W8 U6 O4 G1 H& e
3 D5 W6 n( A; ]; D4 ^8 X7 @
1 }( w+ J9 Y# e( B. R/ `- f& ccaTCh( CDBException *pe )   // 出错处理 1 O% j& K6 ?. @7 T
    {
! B* h0 a9 d9 p. K                AfxMessageBox( _T("Exception!" ));
- t# r5 [% N4 Y: k  d" s        AfxMessageBox( pe->m_strError );
0 g3 D& r. t. {( t/ I        pe -> Delete( ); % j2 X5 m% X' g7 D6 u
    }
+ [. @+ v% t) ]1 l$ l}
1 X% X, Q8 j2 t+ u. H5 j5 Z& q$ {" e7 `7 S% z6 y
% }! @5 x& L$ J8 M3 z
9 o, n4 [, e! ^* H
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了