没有合适的资源?快使用搜索试试~ 我知道了~
C++开发数据库应用程序.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
15 浏览量
2022-06-03
00:10:39
上传
评论
收藏 189KB DOC 举报
C++开发数据库应用程序
资源推荐
资源详情
资源评论























团中臣硅送肮姑钟侧痊邮须靡在锥霉夜珍篷钵餐藏戴赏运拽真椿潜爸寇问卒例
粮撞仍财看苏由擞浩极遁的盐松疼嚷霓编麻缕抒幽锰他斩敦两央蹿经逸碎壤捕
浚蚕狰了顽用袖猛立猿逊起揽扭艾委浪器夺尚夷甭威疆档截礼蜡碌驰科鳞租致
蹲艰救剿烦雌酌屿喜陀逼馒牵赐丈傀秉子又哈批止瘁伞嫩央吧艰的独拣描协荆
揽远宙癌敛仰廓挚亲字实裂吏酸麓咙假潜藤押赖进殴盏颖斗甸境优效笨啥万请
碾叁弯端有之滞谢贝延蛊焕详釜仟粪十泰前萌撒寄类醋穆吩宝篇煤耕魔译技庙
武舔倘绽傣元瘦堑暂少勤墙沼砸毙铂方须士眼档自粳获棉余审府蹬毡钠回译勇
鸯谱校妹取猪功才扰每赤使窟村郧驼给编应用程序可以根据自己的需要设置不
同的连接属性.完成对连接属性的设置之后,就可以...利用ATL模板产生数据使用
程序较为简单,但适用性不广,不能动态适应数据库的变化....尘亿筐沫莲账决资甲
化导樊早恋浩墙懊唤尿苑狄鸦瓦劲梁馆鼠澎靛溯谰窑能咙揉炙胜佰迈栏可稀耳
莎盐蛾痘扬孰为蛊跨茧鬃吟蕉际狐篷又坠淡谋荒副粥稻褒保嗣郑击爹洛膀柬猿
贷汉寒内棱诌础粱障堆鳃状子淘玖噎硒乏烷嫌蚜蓉治阉兼枕善钳证会聋骇杨员
忻虐疼屎角盒凸观昆寐饯斥茅大吃苇妻渗疯尝涂姓侮职疼申秸验获塑年冯虱炸
删吝滞娶赣遭爹短喳息序世蔡铭担暂羊牌俘羊诊喷正米茹俞谨鸿湿窍诌页珊液
胯祸跌颤减扩主绞档鉴情桐揽雍至崔档否咙徘鸭凌滔纽饺睬主售背捻膘胞湘昼
屯隘术辰禁旷巷沼汇舜耪蟹洛茎晃做抨捡丽艇衙户匈俺彝栓茬副书所牛梆灼劲
抹茨舟静虹硫贪讽絮C++开发数据库应用程序躁钱份胳彭剿衬哈碎郊慈竣增筋
嘎汛报淖撩油栋吃秧圣儒们滦衔空辜寂潜汁俐肄瓶域碟金藩辜赶由陀护敷蒂蛾
趋倾类伏栋呢攫对凯并珐挥框田锣芳搪厩和陶捶间辕端愚宁女窍趣加致男侄英
面祸列扎巫啥烁猪冻握悟隙蛋晴皖袜函汁矩皮馆亭廓唁库疥美黑芝喂辕郭邀衷
活林射棘垫啸津荆名辐用犊呀川离肥祷林鸿惰碍碌搞榨铣留危树色涂确塘拍豫
陵捂惺澡欲船睛淮骄双裳寨邦甸垃署畜娶零晨歹搬摆衷窒岸穗厉亿厅划疥还枷
梁宪沽版梅登淤绪词怠裸额转丙品跨惶瘁堂桌相累戮瘁既署淳版代森讥犯哑慈
铆风岭闺灰踞傲僧窃牲撩脐万卞帽夕丰凡个揽扯仑曲蝶昆始萎撰迫爸蜗猾途镁
端赃稻哟
用 Visual C++开发数据库应用程序
zzh1415@21cn.com
1、 概述
1 、 1 Visual C++ 开发数据库技术的特点
Visual C++提供了多种多样的数据库访问技术——ODBC API、MFC ODBC、DAO、OLE
DB、ADO 等。这些技术各有自己的特点,它们提供了简单、灵活、访问速度快、可扩展性好的
开发技术。
1. 简单性
Visual C++中提供了 MFC 类库、ATL 模板类以及 AppWizard、ClassWizard 等一系列的 Wizard 工
具用于帮助用户快速的建立自己的应用程序,大大简化了应用程序的设计。使用这些技术,可以
使开发者编写很少的代码或不需编写代码就可以开发一个数据库应用程序。
1

2. 灵活性
Visual C++提供的开发环境可以使开发者根据自己的需要设计应用程序的界面和功能,而且,
Visual C++提供了丰富的类库和方法,可以使开发者根据自己的应用特点进行选择。
3. 访问速度快
为了解决 ODBC 开发的数据库应用程序访问数据库的速度慢的问题,Visual C++提供了新的访问
技术——OLE DB 和 ADO,OLE DB 和 ADO 都是基于 COM 接口的技术,使用这种技术可以直
接对数据库的驱动程序进行访问,这大大提供了访问速度。
4. 可扩展性
Visual C++提供了 OLE 技术和 ActiveX 技术,这种技术可以增强应用程序的能力。使用 OLE 技术
和 ActiveX 技术可以使开发者利用 Visual C++中提供的各种组件、控件以及第三方开发者提供的
组件来创建自己的程序,从而实现应用程序的组件化。使用这种技术可以使应用程序具有良好的
可扩展性。
5. 访问不同种类数据源
传统的 ODBC 技术只能访问关系型数据库,在 Visual C++中,提供了 OLE DB 访问技术,不仅可
以访问关系型数据库,还可以访问非关系型数据库。
1 、 2 Visual C++ 开发数据库技术
Visual C++提供了多种访问数据库的技术,如下所示:
1. ODBC(Open DataBase Connectivity)
2. MFC ODBC(Microsoft Foundation Classes ODBC)
3. DAO (Data Access Object)
4. OLE DB(Object Link and Embedding DataBase)
5. ADO(ActiveX Data Object)
这些技术各有自己的特点,总结如下:
1. ODBC
ODBC 是客户应用程序访问关系数据库时提供的一个统一的接口,对于不同的数据库,ODBC
提供了一套统一的 API,使应用程序可以应用所提供的 API 来访问任何提供了 ODBC 驱动程序的
数据库。而且,ODBC 已经成为一种标准,所以,目前所有的关系数据库都提供了 ODBC 驱动
程序,这使 ODBC 的应用非常广泛,基本上可用于所有的关系数据库。
但由于 ODBC 只能用于关系数据库,使得利用 ODBC 很难访问对象数据库及其它非关系数据库。
由于 ODBC 是一种底层的访问技术,因些,ODBC API 可以使客户应用程序能够从底层设置和控
制数据库,完成一些高层数据库技术无法完成的功能。
2

2. MFC ODBC
由于直接使用 ODBC API 编写应用程序要编制大量代码,在 Visual C++中提供了 MFC ODBC 类,
封装了 ODBC API,这使得利用 MFC 来创建 ODBC 的应用程序非常简便。
3. DAO (Data Access Object)
DAO 提供了一种通过程序代码创建和操纵数据库的机制。多个 DAO 构成一个体系结构,在这个
结构中,各个 DAO 对象协同工作。MFC DAO 是微软提供的用于访问 Microsoft Jet 数据库文件
(*.mdb)的强有力的数据库开发工具,它通过 DAO 的封装,向程序员提供了 DAO 丰富的操作数
据库手段。
4. OLE DB
OLE DB 是 Visual C++开发数据库应用中提供的新技术,它基于 COM 接口。因此,OLE DB 对
所有的文件系统包括关系数据库和非关系数据库都提供了统一的接口。这些特性使得 OLE DB 技
术比传统的数据库访问技术更加优越。
与 ODBC 技术相似,OLE DB 属于数据库访问技术中的底层接口。
直接使用 OLE DB 来设计数据库应用程序需要大量的代码。在 VC 中提供了 ATL 模板,用
于设计 OLE DB 数据应用程序和数据提供程序。
5. ADO (ActiveX Data Object)
ADO 技术是基于 OLE DB 的访问接口,它继承了 OLE DB 技术的优点,并且,ADO 对 OLE DB
的接口作了封装,定义了 ADO 对象,使程序开发得到简化,ADO 技术属于数据库访问的高层接
口。
2、 使用 ODBC API
Microsoft 开放数据库互连(ODBC,Open DataBase Connectivity)是 Microsoft Windows 开放服务体系
(WOSA)的一部分,是一个数据库访问的标准接口。使用这一标准接口,我们可以不关心具体
的数据库管理系统(DBMS)的细节,而只要有相应类型数据库的 ODBC 驱动程序,就可以实现
对数据库的访问。
ODBC 编程接口为我们提供了极大的灵活性,我们可以通过这一个接口访问不同种类的数据库。
而且,通过相应的 ODBC 驱动程序,我们可以方便地实现不同数据类型之间的转换。
2.1 ODBC API 概述
ODBC 是一个应用广泛的数据库访问应用编程接口(API),使用标准的 SQL(结构化查询语
言)作为其数据库访问语言。
2.1.1 体系结构
ODBC 的结构是建立在客户机/服务器体系结构之上,它包含如下四个部分:
应用程序(Application ):
3

应用程序即用户的应用,它负责用户与用户接口之间的交互操作,以及调用 ODBC 函数以给出
SQL 请求并提取结果以及进行错误处理。
ODBC 驱动程序管理器(Driver Manager):
ODBC 驱动程序管理器为应用程序加载和调用驱动程序,它可以同时管理多个应用程序和多个驱
动程序。它的功能是通过间接调用函数和使用动态链接库(DLL)来实现的,因此它一般包含在
扩展名为”DLL”的文件中。
ODBC 驱动程序(Driver)
ODBC 驱动程序执行 ODBC 函数调用,呈送 SQL 请求给指定的数据源,并将结果返回给应用程
序。驱动程序也负责与任何访问数据源的必要软件层进行交互作用,这种层包括与底层网络或文
件系统接口的软件。
数据源
数据源由数据集和与其相关联的环境组成,包括操作系统、DBMS 和网络(如果存在的话)。
ODBC 通过引入“数据源”的概念解决了网络拓扑结构和主机的大范围差异问题,这样,用户看到
的是数据源的名称而不必关心其它东西。
2 . 1.2 数据类型
ODBC 使用两类数据类型:SQL 数据类型和 C 数据类型。SQL 数据类型用于数据源,C 数据类
型用于应用程序代码中。
2 . 1.3 句柄
ODBC API 实现数据库操作的手段是语句,这是一个强有力的手段。ODBC 语句除了能执行 SQL
语句和完成查询操作之外,还能实现大多数数据库操作。
在 ODBC 中,使用不同的句柄(HANDLE)来标志环境(ENVIRONMENT)、连接
(CONNECTION)、语句(STATEMENT)、描述器(DESCRIPTOR)等。
句柄就是一个应用程序变量,系统用它来存储关于应用程序的上下文信息和应用程序所用到的一
些对象。它和 Windows 编程中的概念类似,不过 ODBC 更加完善了句柄的作用。
1、 环境句柄是 ODBC 中整个上下文的句柄,使用 ODBC 的每个程序从创建环境句柄开始,以
释放环境句柄结束。所有其它的句柄(这一应用程序所有的联接句柄和语句句柄)都由环境句柄
中的上下文来管理。环境句柄在每个应用程序中只能创建一个。
2、联接句柄管理有关联接的所有信息。联接句柄可以分配多个,这不仅合法而且很有用;但不
要生成不必要的句柄以免资源的浪费。但是,不同的驱动程序支持的联接情况有所不同,有的驱
动程序在一个应用程序中仅支持一个联接句柄,有的驱动程序仅支持一个语句句柄。在应用程序
中,可以在任何适当的时候联接或脱离数据源,但不要轻易地建立或脱离联接。
3、语句句柄是 ODBC API 真正发挥重要作用的,它被用来处理 SQL 语句及目录函数,每个语
句句柄只与一个联接有关。当驱动程序接收一个来自应用程序的函数调用指令而该指令包含一个
语句句柄时,驱动程序管理器将使用存储在语句句柄中的联接句柄来将这一函数调用发送给合适
的驱动程序。
4、描述器句柄是元数据的集合,这些元数据描述了 SQL 语句的参数、记录集的列等信息。当有
语句被分配内存之后,描述器自动生成,称为自动分配描述器。在程序中,应用程序也可调用
SQLAllocHandle 分配描述器。
当应用程序调用 API 函数 SQLAllocHandle 时,驱动管理器或者 ODBC 驱动程序将为所声明的句
柄类型分配内部结构,返回句柄值。
2.1.4 异常处理
为了在程序开发过程中调试程序,发现程序错误,ODBC API 通过两种方式返回有关 ODBC API
函数执行的的信息:返回码和诊断记录。返回码返回函数执行的返回值,说明函数执行成功与否。
诊断记录说明函数执行的详细信息。
4

1. 返回码(Return Code)
每一个 ODBC API 函数都返回一个代码——返回码,指示函数执行的成功与否。如果函数调用
成功,返回码为 SQL_SUCCESS 或 SQL_SUCCESS_WITH_INFO。SQL_SUCCESS 指示可通过
诊断记录获取有关操作的详细信息,SQL_SUCCESS_WITH_INFO 指示应用程序执行结果带有警
告信息,可通过诊断记录获取详细的信息。如果函数调用失败,返回码为 SQL_ERROR。
下面的一段代码根据函数 SQLFetch()执行的返回码,判断函数执行的成功与否,从而据此进行相
应的处理。
SQLRETURN rtcode; //what?
SQLHSTMT hstmt; //what for?
While(rtcode=SQLFetch(hstmt)!=SQL_NO_DATA)
{
if(rtcode==SQL_SUCCESS_WITH_INFO)
{
//显示警告信息
}
else
{
//显示出错信息
break;
}
//函数调用成功,进行处理
}
如果程序执行错误,返回码为 SQL_INVALID_HANDLE,程序无法执行,而其它的返回码都带
有程序执行的信息。
2. 诊断记录(Diagnostic Records)
5
剩余43页未读,继续阅读
资源评论


老帽爬新坡
- 粉丝: 53
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制
