- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC开发多表联接的数据库应用程序.doc
用VC++6.0开发多表联接的数据库应用程序
摘要 本文介绍了用Visual C++6.0开发数据库应用程序时,使用MFC ODBC类的编程方法,详细说明了在MFC ODBC的派生类中设置SQL语句参数的方法,实现了二个表的关联。 关键字 数据库 ,多表联接,MFC ODBC 1.引言 开发Windows应用程序时,在很多情况下可能要和数据库连接。数据库类型多种多样,功能结构也各不相同。从比较简单的DBASE、FoxPro等到复杂的SYBASE、Qracle等大型数据库系统。VC++6.0都提供了一些接口。程序员可利用这些接口方便地开发数据库应用程序。MFC ODBC类就是其中的一个,在快速生成简单一致的接口应用程序方面这些类非常有用。用户不必了解ODBC API和SQL的具体细节,利用ODBC类即可完成对数据库的大部分操作。然而,VC++ Appwizard 生成的数据库应用程序,只是基于单个数据表的数据库应用程序。而实际应用中,往往要求数据库应用程序能关联二个或多个数据表。VC++的好多书籍对此只是简单的介绍。本文透彻地解决这一问题。 2.ODBC与MFC 2.1 ODBC ODBC(开放数据库互连)应用程序可通过ODBCAPI访问不同数据源中的数据,每个不同的数据源类型由一个ODBC驱动程序支持,这个驱动程序完成了ODBC API程序的核心,并与具体的数据库通信。ODBC环境提供了驱动程序管理器(Driver Manager),管理那些与不同数据源连接的驱动程序在ODBC32.DLL中执行。应用程序只需要与驱动程序管理器连接,驱动程序管理器就会根据应用程序提供的数据源名,选择正确的驱动程序来访问数据源。 要使用ODBC来开发数据库应用程序,必须使用在控制面板处的ODBC数据源管理器,来建立、配制数据源。应本例应用程序需要,按以下步骤建立所需的数据源。 1. 双击控制面板处的32位的ODBC程序,选择对话框中的User DSN(用户数据源名)选项卡。 2. 单击Add按钮,然后选择一个数据源:Microsoft Visual FoxPro Driver。单击“完成”,进入下一步设置。 3. 在Data Source Name域内输入数据源名:DB-FSB。然后选择Visual FoxPro数据库的位置。 4. 单击OK按钮,返回到控制面板。 2.2 MFC ODBC MFC的数据库扩展部分封装了使用ODBC数据资源的细节,提供了VC++与ODBC间一种简单的调用接口。MFC的ODBC类主要包括:用来与一个数据源相连的CDatabase类;用来处理从数据库返回的一组记录集的CRecordset类;简化从Crecordset对象中得到数据的显示的CRecordView类。 虽然Cdatabase类允许你对一个数据库执行SQL语句,但是CRecordset类提供了应用程序与数据交互的实质。本例应用程序使用CRecordset类来操作数据源. CRecordset类的主要目的是让应用程序访问从数据库中返回的结果集。在应用程序中要使用CRecordset类,可根据数据源并使用VC++中的ClassWizard来创建Crecordset派生类。通常,一个CRecordset派生类对应用户数据源中的一个表。每生成一个Crecordset派生类,就要选择一个数据源和一个数据源中的一个表。若生成一个Crecordset派生类时,选择了一个数据源中的多个表,那么Crecordset派生类中的结果集是多个表的卡氏积(迪卡尔积)连接,显然,在实际应用中没什么意义。应用程序通过派生出的Crecordset类可对记录集中的记录进行滚动、修改、增加和删除等操作。 CRecordView类具有几个增强功能,允许使用对话框方式(DoDataExchange()函数)直接从记录集显示数据,使得从记录集中显示数据更为容易。并提供了记录移动等操作。 3. 多表联接的数据库应用程序 3. 1本例程序功能: 通过FSB表的BZM字段及DBK1表的HH字段,将Visual FoxPro 的 FSB表与DBK1表(结构如下)关联起来。程序运行出现界面如图1。用鼠标点击工具条的?、?、(、(则FSB表记录移动而DBK1表的记录没移动。用鼠标点击“关联”按钮,则DBK1表的记录和FSB表记录同步移动(BZM编辑框内容与HH编辑框内容相同)。如果,要求按照具体的关键字值来查询二个表中的相关记录,那么,在“定位” 编辑框中输入具体的关键字值,然后,用鼠标点击“关联”按钮,就会见到二个表在新的记录集实现关联。 表1: FSB表结构 字段名 类型 备注 BZM C 索引关键字 DGDL1
您可能关注的文档
- IONAMPLISEQtrade;外显子组解决方案.pdf
- IPv6网络技术的现状和未来.pdf
- J-O-06_“高分子物理”及“高分子物理实验”2门精品课程的建设.pdf
- java调用C封装的dll方法.doc
- JD—11.4型调度绞车制动装置的改进.pdf
- JINRUIAGMORNINGREPORT编辑:李毅粮油作物动态分析….pdf
- KCAl六路双脉冲形成器是三相全控桥式触发线路中必备的电路.doc
- KITCO特约:黄金、白银、原油及天然气的技术型交易设置.pdf
- Kluwer全文数据库使用方法与技巧.ppt
- ks的安防监控系统的设计.pdf
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
文档评论(0)