VC数据库编程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

15.3.5 开发技术——连接对象 (Connection)
• 连接对象表示到数据源的打开的连接,同时也表 示与数据源的唯一会话。通常在使用ADO操作数据 库之前必须首先创建一个连接对象。连接对象为 ADO对数据源的操作提供了一个操作环境,还可以 用于操作事务处理。
15.3.6 创建表并添加数据
15.3.1 Viusal C++对ADO的支持
• Visual C++6.0为ADO操作提供了库支持,一般情 况下,每个Windows操作系统的Program Files\Common Files\System\ado\目录下都有一 个msado*.dll文件,根据Windows版本的不同,该 文件可以是msado1.dll、msado15.dll或 msado2.dll。在使用Visual C++6.0进行ADO编程 时,可以借助Visual C++6.0的import预编译指令, 将该库文件引用到工程里,从而使msado*.dll库 里的数据和函数声明被应用的代码所使用。
15.4.3 Visual C++程序实现设置ODBC数 据源
• 为了使ODBC能与数据库一起工作,必须把数据库 注册到ODBC驱动程序管理器,可以使用15.4.1节 介绍的手工配置的方法。但手工配置对用户而言 过于复杂,必须考虑用程序替用户完成这些配置 工作。
15.4.4 使用Visual C++程序设置ODBC数 据源实例
15.2 数据库开发技术简介
• 本节简要介绍VisualC++中常用的数据库开发技术, 大致分为三类,即ODBC API/MFC ODBC、DAO以及 ADO。其中,MFC ODBC是MFC对ODBC API的封装, ADO是OLE DB的高层接口。
15.2.1 ODBC API/MFC ODBC技术
15.3.2 创建数据库与实例工程
• 实例数据库采用Access2000数据库。启动Access, 执行“文件”→“新建”菜单命令,创建一个空 的数据库Student.mdb。可以在Access中,添加设 计数据库表,也可以在VC程序中通过ADO创建,本 例采用后者。(具体内容请参照本书)
15.3.3 引入ADO对象
第15章 VC数据库编程
• Visual C++通过若干种接口来支持关系数据库的 访问,这些接口包括ODBC(开发式数据库连接)、 RDO(远程数据对象)、DAO(数据访问对象)、 OLE DB和ADO(ActiveX数据对象)。这些接口反 映了Micorsoft对数据库支持的发展演化过程。
15.1 数据库基础

15.3.8 开发技术——Recordset对象
• 要访问和操作数据源的数据就需要创建记录集对 象(Recordset)。本节将介绍记录集对象的相关 操作,在使用Recordset对象对象前,假定已经成 功建立了数据源的连接,连接对象指针为 m_pConnection。
15.3.9 遍历、删除、编辑记录的实现
• 本节给出一个调用动态连接库odbccp32.dll的函 数SQLConfigDataSource注册ODBC数据源的实例程 序。该程序将Student数据库添加至ODBC数据源, 并设置其数据源名称为studb。
15.2.3 ADO技术
• ADO,即ActiveX Data Objects,是一种特殊的 OLE DB客户程序,它允许访问程序在Visual C++、 Visual Basic、VBscript、Java等编程语言中访 问。ADO是微软大力推荐使用的编程接口,在微软 已经停止对ODBC和DAO继续发展的今天,学习使用 ADO无疑是正确的选择。
15.1.3 结构化查询语言(SQL)
• SQL(Structured Query Language,结构化查询 语言)最早由IBM提出,是专门用来处理关系数据 库的基于文本的语言。SQL向数据库提供了完善而 一致的接口,它不是独立的计算机语言,需要 DBMS的支持方能执行。SQL是一种标准的数据库语 言,目前大多数DBMS都支持它。(具体内容请参 照本书)
• ODBC(Open Database Conectivity,开放式数据 库互联),实际上是一个数据库访问库,它包含 访问不同数据库所要求的ODBC驱动程序。如要操 作Foxpro数据库,要用Foxpro的ODBC驱动程序; 要访问DBASE,要用DBASE的ODBC驱动程序。总之, 应用程序要操作不同类型的数据库,只要调用 ODBC所支持的函数,动态链接到不同的驱动程序 上即可。随着ODBC技术的推出,许多开发工具软 件都把ODBC技术集成到自己的软件中,如, Visual basic、Visual C++、Power Builder等等。
15.3 在Visual C++中使用ADO开发数据 库应用程序
• 在应用程序中,通过ADO和SQL语句的配合,可以 实现对数据库的一系列操作,例如创建数据库、 创建表、创建索引,实现数据库的多重查询、高 级查询和数据的汇总等技术。在本节,将通过一 个具体的实例详细讲解如何在Visual C++中,使 用ADO对象开发数据库应用程序。
• ADO是一组动态链接库,因此在使用之前还必须导 入ADO并且初始化。在MFC应用里,一般在应用类 的InitInstance成员函数里初始化OLE/COM库环境 比较合适。初始化过程非常简单,只需简单地调 用AfxOleInit函数即可。(具体内容请参照本书)
15.3.4 连接数据源
• 在工程中引入ADO对象后,就可以通过Connection 对象连接数据源了。(具体内容请参照本书)
• 介绍了Recordset对象后,下面回到实例的开发。 在前面实现了创建与数据库的连接、数据库表的 创建、和通过Connect对象执行SQL语句向数据库 表中添加记录。在本节,将实现遍历表中的记录, 并能编辑和删除当前显示的记录。
15.4 使用ODBC数据源连接数据库
• ODBC为应用程序和数据库系统之间的中间件。它 通过使用相应应用平台上和所需数据库对应的驱 动程序与应用程序的交互来实现对数据库的操作, 避免了在应用程序中直接调用与数据库相关的操 作,从而提供了数据库的独立性。 • 在实际数据库程序开发中,多将数据库添加到 ODBC数据源,通过ODBC数据源连接数据库,从而 避免直接操作数据库文件。使用ADO也可以实现与 ODBC数据源的连接。本节将主要介绍一下ODBC数 据源的设置与连接。
15.4.1 手动实现设置ODBC数据源
• ODBC数据源管理器负责安装驱动程序、管理数据 源,并帮助程序员跟踪ODBC的函数调用。ODBC数 据源管理器负责将应用程序的SQL语句及其他信息 传递给驱动程序,而驱动程序则负责将运行结果 送回应用程序。
15.4.2 ADO连接ODBC数据源
• 设置了ODBC数据源后,ADO的Connection对象就可 以直接通过数据源名studb访问Access数据库 Student。(具体内容请参照本书)
15.3.7 开发技术——ADO对象命令的执 行
• 在ADO对象中,有两种不同的方法可以执行命令。 第一种方法是调用Connection对象的Execute函数, 在15.3.5节已经介绍过程,实例中使用的也是这 种方法。第二种方法是使用命令对象(Command), 它可用于处理负责的命令和使用参数化命令。本 节将主要讨论第二种方法的使用。(具体内容请 参照本书)
15.1.2 数据库管理系统(DBMS)
• 数据库管理系统(Data Base Management System 简称DBMS)是指数据库系统中对数据进行管理的 软件系统,它是数据库系统的核心组成部分,例 如FoxPro、Access、Sybase、SQL Server等都是 DBMS。数据库系统的一切操作,包括查询、更新、 以及各种控制,都是DBMS进行的。
• 在实例中,创建Access数据库时,并没有创建数 据库表。在程序的初始化函数OnInitDialog中, 通过连接对象执行SQL语句创建一个数据库表 studentinfo,该表包含四个字段,分别为stuNo、 stuname、stuaddress和stuphone,类型均为TEXT 类型。(具体内容请参照本书)
15.2.2 DAO技术
• DAO(Data Access Object,数据访问对象)是第 一个面向对象地接口,该技术最初用于像Access 这样的MicroSoft产品中。DAO依赖于用MicroSoft Access自动获得的MicroSoft Jet数据库引擎。另 外,DAO还是较早版本的Visual Basic所使用的引 擎(最新版的Visual Basic和Visual C++依赖于 相同的ADO/OLE-DB组合),所以如果需要支持较 早的Visual Basic应用程序,那么DAO是一个不错 的选择。不过,目前此技术有被OLE DB/ADO取代 地趋势,所以一般也不再使用。
• 在介绍数据库程序开发之前,有必要简单介绍一 下数据库及其管理、使用的相关概念。当然,对 于有一定数据库基础的读者可略过本节。
15.1.1 数据库的基本概念
• 数据库是数据的集合,它由一个或多个表组成。 每一个表中都存储了对一类对象的数据描述。经 常见到的成绩表就是一种表,它由行和列组成, 并且可以通过名字来识别数据。列包含了列的名 字、数据类型以及列的其他属性;行包含了列的 记录或者数据。
相关文档
最新文档