WEB开发网
开发学院软件开发VC 用VC++6.0开发多表联接的数据库应用程序 阅读

用VC++6.0开发多表联接的数据库应用程序

 2008-11-13 19:33:11 来源:WEB开发网   
核心提示: 表1: FSB表结构字段名类型备注BZMC索引关键字DGDL1NDGZD1N其它字段表2: DBK1表字段名类型备注HHC索引关键字BLNZZCMC其它字段基于MFC ODBC类开发的数据库应用程序,是通过MFC ODBC类使用SQL语句方式操纵数据表的,用VC++6.0开发多表联接的数据

表1: FSB表结构

字段名

类型

备注

BZM

C

索引关键字

DGDL1

N

DGZD1

N

其它字段

表2: DBK1表

字段名

类型

备注

HH

C

索引关键字

BL

N

ZZCM

C

其它字段

基于MFC ODBC类开发的数据库应用程序,是通过MFC ODBC类使用SQL语句方式操纵数据表的。数据库中表FSB与表DBK1关联查询的SQL语句是:

SELECT * FROM FSB,DBK1 WHERE FSB.BZM=DBK1.HH

由于创建一个CRecordset派生类时,一般只选择一个数据源中的一个表,因此基于MFC ODBC类开发的数据库应用程序要实现二个表关联,就要使用CRecordset类的参数m _strFilter。它相当于SQL语句中的WHERE子句。参数m _strSort相当于SQL语句中的GROUP BY子句。要注意m_strFilter字符串中不要包含“WHERE”关键字。本例在表FSB与表DBK1对应的CRecordset派生类中分别使用了mbzm和mhh二个m _strFilter参数。用鼠标点击“关联”按钮时,程序首先根据“定位” 编辑框中的内容作为mbzm的值,在表FSB检索结果集。表DBK1对应的CRecordset派生类根据表FSB对应的CRecordset派生类的当前记录m_bzm值,作为mhh的值实行检索,从而得到与表FSB关键字段BZM对应的表DBK1的记录。实现了表FSB与表DBK1的关联。由此可见,二表关联的关键是m _strFilter参数的设置。

3.2 数据库应用程序创建

3.2. 1 创建单表单文档的数据库应用程序

根据前面建立的数据源DB-FSB,使用VC++ Appwizard 生成一个单表单、单文档的数据库应用程序。选择数据源DB-FSB的数据表时应选择FSB.DBF。应用程序名为ZF0001(具体步骤可参考有关VC++资料)。ZF0001应用程序中创建了CZf0001Doc、CZf0001Set、CZf0001View等派生类。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:VC 开发 联接

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接