用VC++6.0开发多表联接的数据库应用程序
2008-11-13 19:33:11 来源:WEB开发网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编辑框内容相同)。如果,要求按照具体的关键字值来查询二个表中的相关记录,那么,在“定位” 编辑框中输入具体的关键字值,然后,用鼠标点击“关联”按钮,就会见到二个表在新的记录集实现关联。
更多精彩
赞助商链接