在VC中动态使用FoxPro数据库.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在VC中动态使用FoxPro数据库

在VC++中动态使用FoxPro数据库Visual C++,通过调研分析,选定ODBC技术作为动态连接FoxPro数据库的核心技术。 ODBC技术简介 ODBC(Open Database Connectivity)是微软开放服务结构WOSA中关于数据的一个要部分,是 Windows 环境中用于连接客户端应用程序与数据库管理系统的标准接口。它使得应用程序通过加载相应的数据库驱动程序,指定连接参数来进行连接以访问不同类型的数据库。通过ODBC,我们可以原本不擅长于数据库操作Visual C++编程语言灵活地操控数据库,充分优化和提高应用程序的执行速度平时我们使用的ODBC技术,要求程序开发人员能预先确定数据源的位置,利用“控制面板”中的“ODBC管理器”手工加载数据库。但在实际的中开发中,无法确定数据源的位置,而只能进行动态加载。对于这种况,我们可以使用一个Windows ? API函数 ? SQLConfigDataSource( ? )来完成这一操作。函数的原型及说明:BOOL SQLConfigDataSource ( HWND hwndParent, UINT fRequest,? LPCSTR ? lpszDriver, ? LPCSTR ? lpszAttributes); ? 参数说明:hwndParent :父窗口句柄常为NULLfRequest :指定的操作方式,若为ODBC_ADD_DSN,则为动态增加ODBC数据源lpszDriver :数据库引擎的描述若要操控FoxPro6.0数据库,则为Microsoft ? Visual ? FoxPro Driver ? lpszAttributes :对数据源的具体设置,对于FoxPro数据源,则类似于以下的一个字串:””。 其中“\0”表示设置项的分隔,”Source”指示.DBF文件所在位置。CRecordSet?类提供了从数据源中提取出的记录集。CRecordSet?对象通常用于两种形式:动态行集(dynasets)和快照集(snapshots)。动态行集能保持与其他用户所做的更改保持同步。快照集则是数据的一个静态视图。每一种形式在记录集被打开时都提供一组记录,所不同的是,当你在一个动态行集里滚动到一条记录时,由其他用户或是你应用程序中的其他记录集对该记录所做的更改会相应地显示出来。应用ODBC?编程向工程之中添加一个读取VFP数据库的类CDataBaseSet,这里以N6-D2-J131.DBF为例子来做。启动MFC ClassWizard界面,点击ADD Class...按钮,选择New...,弹出New Class界面。在Name栏添CDataBaseSet,在Base class栏选择CRecordset,然后点击OK,弹出Database Options界面。选中ODBC,在下拉菜单中选择“Visual FoxPro Tables”,然后点击OK,弹出Configure Connection界面。选择“Free Table directory”,通过“Browse...”选择数据表N6-D2-J131.DBF存放的目录,不用选中数据表N6-D2-J131.DBF,点击“确定”。这时显示的是N6-D2-J131.DBF表所在的路径,不显示表的名称。点击Configure Connection界面的“OK”按钮,弹出界面选择表N6-D2-J131.DBF。点击“OK”,新类生成。注意看一下DataBaseSet.h文件,里面自动生成了?CString?m_xch; //小层号 ?CString?m_bnyxsd; //有效深度 ?CString?m_bnyxhd; //有效厚度 ?CString?m_jcxh; //夹层序号 ?CString?m_jcds; //夹层顶深 ?CString?m_jchd; //夹层厚度 这就是N6-D2-J131.DBF表的结构。用户只能使用相同结构的数据表,否则就会出问题。对于不同结构的数据表,需要逐个编写相应的处理代码。在DataBaseSet.cpp文件中,添加#include ODBCinst.h #include common.h 3.5、修改函数CString CDataBaseSet::GetDefaultConnect(),添加动态连接数据库::SQLConfigDataSource(NULL,ODBC_ADD_SYS_DSN,Microsoft Visual FoxPro Driver,DSN=MYVFPDB\0Description=VFP for GeoSpace System\0SourceType=DBF\0SourceDB=D:\\DateBase070320); 3.6、

文档评论(0)

sb9185sb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档