通向数据库的桥梁-ODBC、ADO和OLEDB

上传人:y****n 文档编号:246489948 上传时间:2024-10-14 格式:PPT 页数:24 大小:225.50KB
返回 下载 相关 举报
通向数据库的桥梁-ODBC、ADO和OLEDB_第1页
第1页 / 共24页
通向数据库的桥梁-ODBC、ADO和OLEDB_第2页
第2页 / 共24页
通向数据库的桥梁-ODBC、ADO和OLEDB_第3页
第3页 / 共24页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第19章 通向数据库的桥梁ODBC、ADO和OLE DB,信息化是计算机产生和发展的原动力,信息化不仅仅表现于计算,还表现于存储,存储海量的数据必然涉及到数据管理的问题,关系型数据库是管理海量数据的一种成功解决方式,本章将讲述数据库的基本理论以及使用Visual C+进行的数据库连接方式,本章的主要内容如下。,数据库开发技术简介:读者可以学到数据库理论的基础知识,了解到SQL语言等数据库核心理论。,ODBC数据库链接:读者可以学到在Visual C+6.0中使用ODBC进行数据库链接。,ADO数据库链接:读者可以学到在Visual C+6.0中使用ADO进行数据库链接。,OLE DB数据连接:读者可以学到OLE DB的相关理论知识。,19.1 数据库开发技术简介,涉及数据库设计的应用软件非常广泛,在现代的信息化管理系统中,已经离不开数据库了。数据库就是存放数据的仓库,而在数据库中,管理者可以通过数据库管理系统来管理数据,主要包括对数据的增加、删除、修改等,以及对数据进行统计分析、报表制作等。,19.1.1 当今常用的几种数据库管理系统DBMS,计算机的实质是信息符号处理机器,所谓的信息不仅仅包括文字内容,它应该包括:文字、图片、音频和视频等具有信息意义的符号或记录。从计算机诞生之日起,计算机就离不开这些数据,最初的数据管理系统是“文件系统”,即将数据以文件的方式存放,以文,件列表的方式存储管理,后来为了更方便地进行数据管理,开发了数据库管理系统(DBMS),。本文出现的与数据库理论相关的基本概念有:,数据:文字、图片、音频和视频等具有信息意义的符号或记录。,数据库:也称为数据仓库,是存放数据的物理的或逻辑的设备介质。,数据库管理系统(DBMS):管理数据库的专用管理软件。,数据库管理员(DBA):具有管理数据库权限的人,而DBA是分多个层次的,不同的DBA可能还具有从属关系。,19.1.2 关系代数与数据库SQL语言简介,数据库可以分为3类:关系型数据库、树型数据库和网状数据库。当今主流的数据库都是属于“关系型数据库”,所谓关系型数据库就是数据库里面管理的数据就是一张二维表,每一行代表一个“元组”,也就是一条记录,“元组”是数据库中的基本数据单位,每一列代表一个“属性”,同一列的性质是一样的,如表19.1所示。,19.1.3 数据库SQL语言分类,数据库SQL语言也是比较简单的,主要分为4类:SQL命令、SQL运算符、SQL从句和SQL的集合函数。,1.SQL命令包括以下几种:,SELECT命令:用于在数据库中查找满足特定条件的记录,形成特定的查询结果集。这是所有SQL语句中最常使用的SQL命令。,CREATE命令:用于创建数据库的特定对象,如表、索引、视图。,DROP命令:用于删除数据库中的特定对象。,ALTER命令:用于调整数据库对象的结构。,INSERT命令:用于在数据库中向特定表添加一行记录。,DELETE命令:用于删除数据库中表的某些记录。,UPDATE命令:用于修改数据库中表的某些记录。,2SQL从句,SQL使用从句来指定查询条件,SQL从句包括以下几种类型:,FROM从句:用于指定从其中选定记录的表的名称。,WHERE从句:用于指定所选定记录必须满足的条件。,GROUP BY从句:用于指定查询结果集按照特定的列分成不同的组。,HAVING从句:用于说明每个组需要满足的条件,一般同GROUP BY从句一起使用。,ORDER BY从句:用于指定查询结果集按照特定的列排序。,3SQL运算符,SQL使用的运算符主要有两类。,(1)逻辑运算符:(2)比较运算符:,4SQL的集合函数,使用合计函数可以对一组数据进行各种不同的统计,它返回用于一组记录的单一值。,19.1.4 使用SQL查询语言运行器,每个数据库管理系统都有自己的SQL查询语言运行器,如Access数据库,可以按照如下操作进行SQL查询语句的使用。,19.1.5 使用SQL查询技巧:投影和选择,使用SQL语句可以编写形式丰富的二维表查询语句,以下是SQL语句常用的一些范例:,(1)投影。,只显示所有学生的姓名:,select 学生 from学生信息表;,显示学生信息表中的全部内容:,select*from学生信息表;,(2)选择。,选择学号为10001的学生的所有信息。,select*from 学生信息表 where 学号=10001;,where子句后面跟的是条件表达式,该条件表达式与C+的不大一样,但逻辑运算肯定是相同的。假如需要选择语文成绩在80分以上的男同学的信息:,select*from 学生信息表 where 语文成绩 10001 and 性别=男;,19.2 在Visual C+6.0中使用ODBC进行数据库链接,ODBC是Visual C+6.0集成开发环境中较常用的数据库链接方式,Visual C+6.0的应用程序向导为每个数据库的表生成一个Set类,通过Set类的对象来进行数据库的访问,ODBC是一种常用的数据库链接方式。,19.2.1 ODBC概述,ODBC(Open Database Connectivity)的全称是开放数据库互连。一个使用ODBC进行开发的数据库访问应用程序并不直接依赖于数据库管理系统,也就是说应用程序不直接于DBMS打交道,无论是FoxPro、Access,MYSQL还是Oracle数据库,均可用ODBC API进行访问,而API是相对固定的,从而大大缩短了软件项目的开发周期,由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库,ODBC主要有两个类。,1CDatabase类(数据库类),2CRecordSet类(数据集类),19.2.2 实现ODBC数据库操作的案例,【本小节示例参考:,源代码,C19myODBC,】,本实例将使用,ODBC,进行数据库连接,并通过单击按钮,将数据库中的部分数据显示在对话框的列,表控件中,使用,ODBC,进行数据库程序设计的步骤如下:,19.3 在Visual C+6.0中使用ADO进行数据库链接,ADO是微软开发的数据库访问中间件,它基于OLE DB数据源抽象出更方便的数据操作接口,它通过这些OLE DB服务提供者,ADO支持客户/服务器模式和基于Web的数据库应用。ADO可以说是最具备面向对象特征的数据库链接方式,它是基于对象的中间件,它将数据库访问操作抽象成为一个个对象,通过对这些对象的操作来完成数据库应用程序设计。,ADO支持客户/服务器模式和基于Web的数据操作,尤其支持通过客户/服务器模式或者基于Web模式访问微软的SQL Server数据库服务器。,19.3.1 ADO的优越性,对于数据库编程人员来说,ADO具有如下优越性:,便于使用:当然,如果不方便,恐怕读者现在就看不到这种连接方式了。,支持多种编程语言,包括Visual Basic、Java、C+、VBScript和JavaScript。,支持任何的OLE DB服务器,ADO可以操作任何的OLE DB数据源。,不损失任何OLE DB的功能,ADO支持C+编程人员操作底层的OLE DB接口。,可扩展性,ADO能够通过提供者属性集合动态地表示指定的数据提供者,还支持COM的扩展数据类型。,19.3.2 ADO对象模型,ADO数据库链接中间件是基于对象的数据库访问技术,它将数据库链接步骤分为定义对象并通过对象来解决一系列问题,ADO对象模型包括以下关键对象:,(1)Connection对象(连接对象)。,(2)Command对象(命令对象)。,(3)Parameter对象(参数对象)。,(4)Recordset对象(记录集对象)。,19.4 ADO数据库操作,使用数据库中间层(如ODBC或ADO)实际上就相当于在应用程序和数据库之间架设了一道桥梁。当然,架设桥梁只是手段,保证应用程序和数据库的交通顺畅才是目的,在ADO中实现对数据库进行操作,开发者只需要做一些额外工作即可,如为取得数据库记录集,应该先定义一个指向Recordset对象的指针:,_RecordsetPtr m_pRecordset;/定义数据集对象,并为其创建Recordset对象的实例:,m_pRecordset.CreateInstance(ADODB.Recordset);/创建ADO数据集,19.4.1 利用Connection对象的Execute()方法执行SQL命令,Connection链接对象提供了执行SQL语句的方法,它就是Execute()函数,其原型如下所示:,_RecordsetPtr Connection15:Execute(_bstr_t CommandText,VARIANT*RecordsAffected,long Options)/可以执行SQL语句的函数,其中,Execute()方法的参数是:,CommandText:该参数表示SQL命令字符串。,RecordsAffected:该参数表示命令影响的行数。,Options:该参数表示CommandText参数中内容的类型,Options参数可以取以下值之一:,(1)adCmdText:参数取值为adCmdText表示CommandText是文本命令。,(2)adCmdTable:参数取值为adCmdTable表示CommandText是一个表名。,(3)adCmdProc:参数取值为adCmdProc表示CommandText是一个存储过程。,开发者可以这样使用Execute()方法:,m_pRecordset=m_pConnection-Execute(SELECT COUNT(*)FROM 学生信息,/执行SQL统计命令得到包含记录条数的记录集,19.4.2 利用Command对象来执行SQL命令,利用Command对象来执行SQL命令,实质上是使用Command对象的方法来进行数据库的操作命令传递,如代码示例19.4所示。,19.4.3 直接用Recordset对象进行查询取得记录集,直接用Recordset对象进行查询取得记录集常使用到Recordset对象的Open()方法,Open方法的原型如下:,HRESULT Recordset15:Open(const _variant_t&Source,const _variant_t&ActiveConnection,enum CursorTypeEnum CursorType,enum LockTypeEnum LockType,long Options),Open()方法的使用可以如下所示:,m_pRecordset-Open(SELECT*FROM 学生信息,_variant_t(IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);,19.4.4 使用ADO进行数据库连接的案例,ADO数据库连接与ODBC类似,但也有自己的特点,它提供了更方便的连接函数,而且在不依赖于MFC的情况下,也很方便地使用各种数据库中间层的对象,只要提供连接数据库以及读写数据库按照以下顺序即可:,(1)依次定义连接对象、数据集对象和命令对象。,(2)使用连接对象的Open()函数通过传递连接字符串打开数据库。,(3)编写SQL语句的字符串,并将字符串交给命令对象的Excute()函数执行。,(4)读取、删除或修改数据库的内容。,19.5 OLE DB数据库操作模型,OLE DB由客户(Consumer,也称为应用程序)和服务器(Provider,又称为提供者程序)组成。客户是指任何一个使用了OLE DB接口的系统或者应用程序,其中包括OLE DB本身,而服务器是指所有提供OLE DB接口的软件组件。,19.5.1 什么是OLE DB,OLE DB客户是使用数据的应用程序,它通过OLE DB接口对数据提供者的数据进行访问和控制。在大多数情况下
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!