5_UG二次开发外部数据访问.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 外部数据访问 在UG的二次开发应用中,经常需要与各种外部数据打交道,比如,利用UG二次开发来开发标准件库时,由于标准件的数据都是以图表的形式定义在设计手册中,我们能够将这些数据存贮到Access、FoxPro、SQL server,甚至Excel中,那么如何在UG二次开发过程中访问这些存贮在外部数据库中的数据? UG/OPEN API提供了丰富的访问操作函数,利用这些操作函数及VC++的MFC类库,可以方便地实现外部数据读写访问编程。主要访问的外部数据有文本文件、Excel表、关系型 \o 数据存储,数据库,数据挖掘 数据库表等,通常可以通过以下方法访问这些外部数据:??? (1)通过ODBC访问外部数据 ??(2)通过ADO访问外部数据 (3)通过UG/OPEN API提供的操作函数访问外部数据 5.1 ODBC数据源访问外部数据 ODBC(Open Database connectivity 开放式数据库互连)是由微软公司提出的一个用于访问数据库的统一界面标准,它提供了一个一致的应用程序编程接口,该接口使用一个针对数据库的驱动程序与不同的数据库协同工作。 DSN(Data Source Name)是用于指定ODBC与相关的驱动程序相对应的一个入口,所有DSN的信息由系统进行管理,一般来讲当应用程序要使用ODBC访问数据库时,就需要指定一个DSN以便于连接到一个指定的ODBC驱动程序。 利用ODBC访问外部数据,首先要配置ODBC数据源,即创建ODBC的DSN;然后读取ODBC指定数据源中的数据。 5.1.1 1、选择控制面板中的管理工具下面的数据源 (ODBC),如下图所示。 2、在弹出的ODBC数据源管理器对话框中,选择系统“DSN”,并单击添加…按钮,将出现创建新数据源对话框,如下图所示。 3、在创建新数据源对话框中,选择你将访问数据源相应的驱动程序,比如,我们将访问Access数据库中的数据,此时可选择“Microsoft Access Driver(*.mdb)”,选择后,单击“完成”按钮,此时,出现数据源相应驱动程序的选择界面,如下图所示。 4、在驱动程序选择界面中,数据源名框中输入DSN的名称,比如,Screw。DSN的名称非常重要,它是后期访问数据源的唯一标识。输入DSN的名称后,可通过“选择(S) …”按钮选择相应数据源所在的路径,如果选择成功,将在界面出现已选中的数据源的完整路径和名称,如下图所示。 图5-5 ODBC Microsoft Access安装 5、点击“确定”按钮,此时在“系统DSN”中就会出现你刚创建的ODBC数据源名,表明配置数据源成功。 ????动态配置ODBC 5.1.2 读取ODBC数据源中的数据时,经常使用到CDatabase(数据库类)、CRecordSet(记录集类) 。CDatabase类对象提供了对数据源的连接,通过它可以对数据源进行操作。CRecordSet类对象提供了从数据源中提取出的记录集进行操作。 1、CDatabase类 一个CDatabase对象代表与数据源的一个连接。创建一个CDatabase对象之后,调用Open或OpenEx成员函数指定一个DSN(数据源名)。一旦调用了这两个函数之一,就建立起了与DSN的底层数据源的连接。CDatabase对象通常与一个或多个记录集(CRecordset对象)一起使用。下面的例子是用一个CDatabase对象来建立与一个DSN的连接: try{ CDatabase db; db.Open(Screw); // 建立与DSN(Screw)的连接 // Use db ... db.Close(); //关闭先前建立的与DSN的连接 } CDatabase构造函数并没有做很多事情,只有调用Open函数才能建立起与数据源的连接,因此,我们有必要先看一下这两个函数。 virtual BOOL Open( LPCTSTR lpszDSN, BOOL bExclusive = FALSE, BOOL bReadOnly = FALSE, LPCTSTR lpszConnect = _T(ODBC;), BOOL bUseCursorLib = TRUE ); 在Open函数原型中,有几个选项在打开数据库连接的时候可以指定,但通常只需要提供第一个参数。在前面的例子中,这第一个参数是我们在前面建立的DSN的名称。 bExclusive参数指定是否允许其他应用程序对数据源的连接。bExclusive为FALSE时表示允许多个程序共享打

文档评论(0)

我思故我在 + 关注
实名认证
文档贡献者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档