用vc开发odbc数据库应用

用vc开发odbc数据库应用

ID:35392160

大小:56.54 KB

页数:3页

时间:2019-03-24

用vc开发odbc数据库应用_第1页
用vc开发odbc数据库应用_第2页
用vc开发odbc数据库应用_第3页
资源描述:

《用vc开发odbc数据库应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、用VC++开发ODBC数据库应用ODBC概述ODBC即开放式数据库互连(OpenDatabaseConnectivity)是用于访问数据库的统一界面标准。它包含一组可扩展的动态链接库,为我们提供了一个标准的数据库应用的程序设计接口,可以通过它编写对数据库进行增、删、改、查和维护等操作的应用程序。在ODBC的DI丄之下安装不同数据库的驱动程序,开发人员可以访问不同的数据库资源。由于ODBC是基于关系数据库的结构化杳询语言SQL而设计的,在ODBC层Z上的应用程序看来,各个异构关系数据库只是相当于几个不同的数据源(如图所示),而这些数据源的组织结构之不同对于程序员来说是透明的,所以我们就

2、可以编写独立于数据库的访问程序。大多数的数据库在进行设计时都遵守SQL标准,这使应用可以利用SQL标准对不同的数据源进行操作。我们可以发出SQL命令,由ODBC发给数据库,数据库再将结果经过ODBC返冋给应用程序。使用ODBC编程必须先建立环境、连接、语句三个句柄,环境句柄建立从应用到ODBC的联系,连接句柄建立ODBCDriver到数据源的组合关系,当连接句柄建立后,应用程序要建立一个语句句柄以执行SQL语句。接下来调用执行函数就可以查询或更新数据库的表,若查询语句较为特殊,它会返冋一个结果集,需要程序员对此结果集做处理。将应用程序关闭吋,首先要将语句句柄释放,然后释放连接句柄,最

3、后释放ODBC环境句柄。结果集是符合查询条件的记录的集合,保存在一段内存屮。程序员建立结果集与用户变量的联系,使结果集中的每一列与用户中请的变量一一对应,以便程序员对结果集进行操作,建立这个联系的动作叫绑定(Binding)用VC++4.0开发ODBC应用程序时,口J利用开发系统提供的MFC类以节省大量工作。MFC为ODBC编程提供两个类:CDatabasc类和CRccordsct类。CDatabase类主要封装与数据源的连接工作,CRecordset类封装数据源的表与用户内存的绑定工作。使用MFC编写ODBC应用程序依对库的绑定吋间分为两类:静态绑定、动态绑定。静态绑定是在程序编译

4、时绑定的一个表;动态绑定是指绑定发生于程序运行时。静态绑定的应用程序容易编写,但由于绑定的动作发生在编译时,只能对已知的表进行绑定。动态绑定对用户来说较为方便,而程序员也可以对表进行较多、较灵活的操作。以下将分别介绍动态绑定和静态绑定,本文的重点是介绍动态绑定。静态绑定静态绑定的编程步骤如下:1.利用VC++的应用向导制作一个应用程序框架所需的代码,其中数据库支持部分应选择HeaderFileonly。1.利用VC++的类向导加入一个由CRecordset类派生的用户记录集类(假定Cset)。按下CreateClass按钮,系统会弹出两个对话框分别让用户选择数据源和表。2.输岀结果。

5、数据源和表由类向导确定之后,系统会自动将选定的表绑定在Cset类上,即为Cset类建立几个数据成员变量,分别对应表的各个列。各数据库的数据类型与vc++的记录集类的数据成员变量类型的对应关系如卜•表所示。然后,类向导还要覆写CRecordset类的三个虚拟函数:DoFieldExchange>GetDefaultSQL和GetDefaultConnecto至此,静态绑定就完成了。前面曾提到,查询操作返回结果集包含被查询表中的符合查询条件的记录。派生记录集类Cset的数据成员变量分别对应数据库的一个字段,它们的组合就是一个记录。调用游标定位函数使Cset类定位于某一行。类封装的增、删、

6、改函数可修改、删除当前行,对各个成员变量做输出处理可实现查询功能。静态绑定技术减少了程序员工作量。但是曲于表必须编译前确定,每建立一个新表应用程序都要重新编译以绑定此表;表结构也由类向导固定在CRecordset的派生类屮,已经绑定的表一旦结构被修改应用程序也都要重新编译以绑定此表。静态绑定的缺点用动态绑定正好可以克服。动态绑定动态绑定在运行时对一个表进行绑定,可以使同一个应用程序能够针对不同的表提供服务。动态绑定一个表需要做到以下两点:知道选定的数据源包含有哪些表,以便确定用户要访问的表是否存在;得到表结构的信息,确定申请多少内存以及申请什么类型的内存,以便与表相对应。在VC++4

7、.0系统的安装光盘的目录SAMPLESMFCDATABASECATALOG下有tableset.cpp、tableset.h、columnst.cpp和columnst.h四个文件,前两个文件提供Ctablcs类,后两个文件提供Ccolumns类。这两个类都是CRecordset的派生类,分别实现查询数据源的表名信息及表的列信息。将上述四个文件加入工程,就可以使用Ccolumns类和Ctables类了。动态绑定的步骤如卜•:1.创建一个CData

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。