VC开发多表联接数据库应用程序.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用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

文档评论(0)

ipad0c + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档