- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC6.0入門【第九章_连接数据库】
VC++6简明教程
第6章 创建和使用对话框
PAGE 18
PAGE 17
第九章 连接数据库
精讲
微机在商业上的应用主要在数据处理,要求能够快速方便地访问一个大型数据库中的记录, MFC提供了两种独立地面向用户的数据库访问系统,一种是ODBC(Open DataBase Connectivity,开放数据库连接),另一种是DAO(Data Access Objects,数据访问对象)。本章你将学会使用ODBC和DAO连接数据库,并能够简单地操作数据库数据。
9.1 MFC ODBC连接数据库
ODBC是微软公司支持开放数据库服务体系的重要组成部分,它定义了一组规范,提供了一组对数据库访问的标准API,这些API是建立在标准化版本SQL(Structed Query Language,结构化查询语言)基础上的。ODBC位于应用程序和具体的DBMS之间,目的是能够使应用程序端不依赖于任何DBMS,与不同数据库的操作由对应的DBMS的ODBC驱动程序完成。
9.1.1 ODBC的构成
ODBC的结构如图9-1所示。
应用程序
应用程序
数据源DSN
ODBC API (SQL)
ODBC
管理器
驱动程序
管理器
ODBC
驱动程序
数
据
源
ODBC层
图9-1 使用ODBC的层次图
ODBC层由三个部件构成:
ODBC管理器
ODBC管理器的主要任务是管理安装ODBC驱动程序,管理数据源。应用程序要访问数据库,首先必须在ODBC管理器中创建一个数据源。ODBC管理器根据数据源提供的数据库存储位置,类型及ODBC驱动程序信息,建立起ODBC与一个特定数据库之间的联系,接下来,程序中只需提供数据源名,ODBC就能连接相关的数据库。ODBC管理器位于系统控件面板中。
驱动程序管理器
驱动器管理器位于ODBC32.DLL,是ODBC中最重要的部件,应用程序通过ODBC API执行数据库操作。其实ODBC API不能直接操作数据库,需要通过驱动管理器调用特定的数据库的驱动程序,驱动程序在执行完相应操作后,再将结果通过驱动程序管理器返回。驱动器管理器支持一个应用程序同时访问多个DBMS中的数据。
ODBC驱动程序
ODBC驱动程序以DLL文件形式出现,提供ODBC与数据库之间的接口。
9.1.2 MFC ODBC类
进行ODBC编程,有三个非常重要的元素:环境(Enviroment),连接(Connection)和语句(Statement),它们都是通过句柄来访问的。在MFC的类库中,CDatabase类封装了ODBC编程的连接句柄,CRecordset类封装了对ODBC编程的语句句柄,而环境句柄被保存在一个全局变量中,可以调用一个全局函数AfxGetHENV来获得当前被MFC使用的环境句柄。
此外CRecordView类负责记录集的用户界面,CFieldExchange负责CRedordset类与数据源的数据交换。
使用AppWizard生成应用程序框架过程中,只要选择了相应的数据库支持选项,你就能够很方便地获得一个数据库应用程序的框架。
CDatabase类
CDatabase类的主要功能是建立与ODBC数据源的连接,连接句柄放在其数据成员m_hdbc中,并提供一个成员函数GetConnect()用于获取连接字符串。要建立与数据源的连接,首先创建一个CDatabase对象,再调用CDatabase类的Open()函数创建连接。Open()函数的原型定义如下:
virtul BOOL Open(LPCTSTR lpszDSN,BOOL bExclusive=FALSE,
BOOL bReadOnly=FALSE,
LPCTSTR lpszConnect=”ODBC;”,BOOL bUseCursorLib=TRUE);
其中:
lpszDSN指定数据源名,若lpszDSN的值为NULL时,在程序执行时会弹出数据源对话框,供用户选择一个数据源。
lpszConnect指定一个连接字符串,连接字符串中通常包括数据源名、用户ID、口令等信息,与特定的DBMS相关。
例如:
CDatabase db;
db.Open(NULL,FALSE,FALSE,”ODBC;DSN=HotelInfo;UID=SYSTEM;PWD=123456”);
从断开与一个数据源的连接,可以调用CDatabase类的成员函数Close()。
CRecordset类
CRecordset类对象表示从数据源中抽取出来的一组记录集。CRecordset类封装了大量操作数据库的函数,支持查询,存取,更新数据库操作。
记录集主要分为两种类型:
快照(Snapshot)记录集
快照记录集相当于数据库的一张静态视图,一旦从数据库抽取出来,当别的用户更新记录的操作是不
您可能关注的文档
- UV硬化樹脂项目可行性研究报告.doc
- U大師U盘启动制作工具安装原版win7系统的详细使用方法.doc
- u大師u盘启动盘制作工具安装ghost系统教程.doc
- U形彎曲件模具设计.doc
- U槽砼施工作業指导书.doc
- U盤外壳塑料模具设计毕业论文.doc
- u盤安装win764旗舰版系统图文教程.doc
- U盤提示未格式化解决办法(亲历).doc
- U盤故障维修方法.doc
- U盤无法停止‘通用卷’的解决办法.doc
- 专题06 经济体制(我国的社会主义市场经济体制)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题11 世界多极化与经济全球化-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 专题03 经济发展与社会进步-5年(2020-2024)高考1年模拟政治真题分类汇编(浙江专用)(解析版).docx
- 专题09 文化传承与文化创新-5年(2020-2024)高考1年模拟政治真题分类汇编(北京专用)(原卷版).docx
- 5年(2020-2024)高考政治真题分类汇编专题08 社会进步(我国的个人收入分配与社会保障)(原卷版).docx
- 专题07 探索世界与把握规律-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 5年(2020-2024)高考政治真题分类汇编专题06 经济体制(我国的社会主义市场经济体制)(原卷版).docx
- 专题11 全面依法治国(治国理政的基本方式、法治中国建设、全面推进依法治国的基本要求)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题17 区域联系与区域协调发展-【好题汇编】十年(2015-2024)高考地理真题分类汇编(解析版).docx
- 专题01 中国特色社会主义-5年(2020-2024)高考1年模拟政治真题分类汇编(原卷版).docx
文档评论(0)