利用ADO开发数据库应用程序.ppt
《利用ADO开发数据库应用程序.ppt》由会员分享,可在线阅读,更多相关《利用ADO开发数据库应用程序.ppt(71页珍藏版)》请在三一办公上搜索。
1、第10章,第10章 利用ADO开发数据库应用程序,数据库应用教程,10.1 ADO对象模型概述,10.2 Connection对象,10.3 RecordSet对象,第10章 利用ADO开发数据库应用程序,10.4 Command对象,10.5 Field对象和Fields集合,10.6 Error对象和Errors集合,10.7 ADO对象综合应用例,10.1.1 ADO数据访问技术的基本概念,10.1.2 ADO模型的对象,10.1.3 加载ADO对象库,10.1 ADO对象模型概述,10.1.1 ADO数据访问技术的基本概念,1.概况,ADO(ActiveX Data Object)是微
2、软最新的数据访问组件(微软数据访问组件简称MDAC)的一部分,MDAC的常用版本有MDAC 2.5和MDAC 2.7,ADO的最新的版本ADO.NET也包含在MDAC 2.7中。,ADO是基于OLE-DB(Object Linking&Embedded Database)之上的面向对象的数据访问模型,OLE-DB是微软公司开发的一种高性能的、基于COM的低层的数据访问接口,其作用是向应用程序提供一个统一的数据访问方法,而不必考虑数据源的具体格式和存储方式。由于OLE-DB直接调用数据提供者开发的数据驱动程序,所以具有性能高、速度快等特点。,ADO组件包含了所有的可以被OLE-DB标准接口描述的
3、数据类型,通过ADO的方法和属性可以为应用程序提供统一的数据访问方法和接口。,ADO对象模型还具有可扩展性,当把数据库上层应用程序移植到不同的数据库平台上时,只需要更换连接数据库的驱动程序,而不需要对上层程序作任何修改。,10.1.1 ADO数据访问技术的基本概念,2.特点,(1)支持批处理(Batch Updating),可以分批处理客户端提出的请求。,(2)支持存储过程(Stored Procedures),可使用输入参数给存储过程输入值,使用输出参数取得存储过程的返回值。,(3)可以使用存储过程或批处理SQL指令,实现返回多组记录集的功能。,10.1.1 ADO数据访问技术的基本概念,3
4、.ADO操作数据库的物理机制,10.1.2 ADO模型的对象,1.概况,ADO模型的对象库主要由7个基本对象和4个集合对象构成,七个基本对象分别是Connection、Recordset、Command、Field、Property、Parameter和Error,4个集合对象是Errors、Fields、Parameters和Properties。,2.对象之间的关系,10.1.2 ADO模型的对象,3.基本对象,(1)Connection(连接)对象,Connection 对象代表与数据源的连接,它包含了关于目标数据库数据提供者(Data Provider)的相关信息。可利用Connect
5、ion对象管理与数据库的连接,包括打开连接、关闭连接、运行SQL语句等。,(2)Recordset(记录集)对象,Recordset对象表示的是来自基本表或命令执行结果的记录的集合,由一系列字段组成。在任何时候,Recordset对象所指的当前记录均为集合内的单个记录。可以把Recordset对象看成是内存中的二维表。,10.1.2 ADO模型的对象,(3)Command(命令)对象,Command对象定义了将对数据源执行的指定命令,通过已建立的连接发出“命令”可以以某种方式来操作数据源。一般情况下,通过命令对象可以在数据源中添加、删除或更新数据,或者从数据库中检索数据,并以记录集的形式返回。
6、,(4)Field(字段)对象,如果将记录集看作二维网格,每一字段(列)就是一个Field对象,Field对象具有名称、数据类型和值等属性,在值属性中包含了来自数据源的真实数据。,(5)Property(属性)对象,Property对象表示ADO对象的特征,每个ADO对象都由一组唯一的Property(属性)对象来描述或控制对象的行为。,属性有内置和动态两种类型。内置属性是ADO对象的一部分并且随时可用。动态属性则由特别的数据提供者添加到ADO对象的属性集合中,仅在数据库提供者被使用时才能存在。,10.1.2 ADO模型的对象,(6)Parameter(参数)属性,命令需要的变量部分即“参数”
7、,参数可以在命令发布之前进行更改。例如,可重复发出相同的数据检索命令(如检索成绩为某等级的学生数据,等级用一个变量DJ来表示,此处的DJ就可看成是一个参数),但每一次均可更改指定的检索信息(如第一次DJ为“良好”,第二次DJ为“优秀”等)。,在ADO中,Parameter对象用于管理与基于参数化查询或存储过程的Command对象相关联的参数。,(7)Error对象,应用程序执行过程中,错误的发生是不可避免的,错误通常是由于无法建立连接、执行命令或对某些状态(例如,试图使用没有初始化的记录集)的对象进行操作时发生。ADO对象模型用Error对象体现错误,任意给定的错误都会产生一个或多个Error
8、对象。Error对象包含单个操作产生的错误的详细信息,还包含数据库驱动程序出错时的扩展信息。,经常使用的ADO对象有:Connection 对象、RecordSet对象、Command对象、Fields对象和Field对象。,10.1.2 ADO模型的对象,4集合对象,ADO还提供了集合对象,在集合对象中可以包含基本对象。使用集合方法可按名称(文本字符串)或序号(整型数)对集合中的对象进行检索。,(1)Errors集合对象,Connection对象具有Errors集合,其中包含Error对象。,(2)Parameters对象,Command对象具有Parameters集合,包含应用于Comma
9、nd对象的所有Parameter对象。,10.1.2 ADO模型的对象,(3)Fields对象,Recordset对象具有Fields集合,包含Recordset对象中的所有Field对象。,(4)Properties对象,Connection、Command、Recordset和Field对象都具有Properties集合,它包含所有属于各个对象的Property对象。,10.1.3 加载ADO对象库,加载方法,在Visual Basic 6.0中,有两种ADO对象库:一种叫ADODB,包含在MSADO*.DLL(*代表版本号)中;一种叫做ADOR,包含在MSADOR15.DLL中。引用这两
10、种类型库的方法是执行“工程”菜单中的“引用”命令,将出现“引用”对话框,在该对话框中选中“Microsoft ActiveX Data Object 2.7 Library(ADODB)”或“Microsoft ActiveX Data Object Recordset 2.7 Library(ADOR)”,然后按“确定”按钮即可。,10.2.1 Connection对象的常用属性,10.2.2 Connection对象的常用方法,10.2.3 连接到数据库的方法,10.2 Connection对象,10.2 Connection对象,作用概述,Connection对象可以用来在应用程序和数据
11、库之间建立一条数据传输“通道”,利用这个“通道”,应用程序就可使用Command对象、Recordse对象等来对Connection对象所连接的数据库进行插入、删除、更新和查询等操作。,打电话例,应用程序和数据库是通话的双方,建立一个Connection对象就像是应用程序拿起了“话筒”,打开一个Connection对象就好象应用程序在“拨号”,“拨号”即连接打开成功,应用程序和数据库就可以“通话”了,即应用程序就可以使用Command对象及Recordset对象操作数据库了。,10.2.1 Connection对象的常用属性,1ConnectionString属性,该属性是一个可读写Strin
12、g类型的属性,用来设置或返回数据提供者或服务提供者打开到数据源的连接所需要的特定信息,即连接字符串。,2ConnectionTimeout属性,该属性是一个可读写Long类型的属性,用来指定中止一个失败的Connection对象的Open方法调用之前必须等待的时间,默认值为15秒。,3CommandTimeout属性,该属性是一个可读写的Long类型的属性,用来指定中止某个相关Command对象的Execute方法调用之前必须等待的时间。默认值为30秒。,10.2.1 Connection对象的常用属性,4State属性,该属性是一个可读写Long类型的属性,用来指定连接是处于打开状态,还是处
13、于关闭状态或中间状态。,5Version属性,该属性是一个字符串型的属性,用来返回ADO对象库的版本号。,10.2.2 Connection对象的常用方法,1BeginTrans方法,该方法用于启动新的事务,格式如下:level=ConnectionObj.BeginTrans()或 ConnectionObj.BeginTrans其中ConnectionObj是连接对象变量名,如果该方法作为函数调用则返回指示事务嵌套层次的长整型数据。,2CommitTrans方法,该方法用于保存所有更改并结束当前事务。也可以使用它启动新事务。格式如下:ConnectionObj.CommitTrans,3R
14、ollbackTrans方法,该方法用于取消当前事务中所做的所有操作并结束事务。它也可以启动新事务。格式如下:ConnectionObj.RollbackTrans,10.2.2 Connection对象的常用方法,4Open方法,用来打开到数据源的连接。语法格式如下:ConnectionObj.Open ConnectionString,UserID,Password,OpenOptions,参数ConnectionString是一个字符串,包含连接信息;参数UserID也是一个字符串属性,包含建立连接时所使用的用户名称;参数Password也是一个字符串属性,包含建立连接时所有的用户密码;
15、OpenOptions参数使用场合不多,这里不再介绍。UserID和Password属性的值通常可在ConnectionString属性中一起设置。,设置连接参数有两种方法:一种是设置连接对象的ConnectionString属性,然后调用Connection对象的不带参数的Open方法;二是在调用Connection对象的Open方法时使用可选的参数ConnectionString,此时ConnectionString属性将自动继承该参数的值。,10.2.2 Connection对象的常用方法,5Close方法,调用Close方法可关闭Connection对象。使用格式如下:Connecti
16、onObj.Close,关闭连接并非将它从内存中删除,此后还可以更改它的属性设置并且还可以再次打开。要将对象从内存中完全删除,可将对象变量赋值为Nothing,例如:Set ConnectionObj=Nothing,使用Close方法关闭Connection对象的同时,也将关闭与此连接相关联的任何活动Recordset对象。关闭Connection对象后,调用任何需要与数据源连接的方法都将产生错误。,10.2.2 Connection对象的常用方法,6Execute方法,该方法用来执行查询、SQL 语句、存储过程或特定提供者的文本命令等。,格式1:,ConnectionObj.Execute
17、 CommandText,RecordsAffected,Options,格式2:,Set RecordsetObj=ConnectionObj.Execute(CommandText,RecordsAffected,Options),参数说明:,该方法有三个参数,参数CommandText是一个字符串,包含要执行的SQL语句、表名、存储过程或特定提供者的文本命令;RecordsAffected是一个长整型的可选参数,里面存放着调用该方法所影响的记录数目;参数Options也是一个可选的长整型参数,用来说明CommandText 参数中包含的是什么。,10.2.2 Connection对象的常
18、用方法,7Cancel方法,该方法用来终止异步执行的Execute或Open方法调用。如果试图终止的方法不是异步执行的方法,则将会出现运行错误。,8OpenSchema方法,该方法用来返回数据库的纲要信息。,10.2.3 连接到数据库的方法,概况:,连接到数据库的关键是形成连接字符串,然后把连接字符串赋值给Connection对象的ConnectionString属性,或在调用连接对象的Open方法时,把连接字符串作为它的ConnectionString参数值。下面主要介绍连接字符串的设置方法,采用的数据库类型为Microsoft Access数据库和SQL Server数据库。,10.2.3
19、 连接到数据库的方法,1通过ODBC的DSN建立连接,(1)通过ODBC的DSN连接到SQL Server数据库,通过ODBC的DSN连接到SQL Server数据库的连接字符串的一般形式如下:DSN=SQLCollegeMIS;uid=sa;pwd=tah980808其中,“SQLCollegeMIS”是已经创建好的SQL Server数据库的DSN,“sa”是用户名(系统管理员),“tah980808”是用户(系统管理员)密码。,(2)通过ODBC的DSN连接到Access数据库,通过ODBC的DSN连接到Access数据库的连接字符串的一般形式如下:DSN=AccessCMIS;uid=
20、;pwd=其中,“AccessCMIS”是已经创建好的Microsoft Access数据库的DSN。,10.2.3 连接到数据库的方法,2通过ODBC建立连接,(1)通过ODBC连接到SQL Server数据库,该方式的连接字符串有两种:普通安全模式和信任安全模式。使用普通安全模式的连接字符串的一般形式如下:Driver=SQL Server;Server=tahsj;Database=CollegeMIS;uid=sa;pwd=tah980808 其中“tahsj”是服务器名,“CollegeMIS”是数据库名,“sa”是用户名,“tah980808”是用户密码。使用信任安全模式的连接字符
21、串的一般形式如下:Driver=SQL Server;Server=tahsj;Database=CollegeMIS;uid=;pwd=与普通安全模式相比,只是不需要提供用户名和密码。,(2)通过ODBC连接到Access数据库,通过ODBC连接到Access数据库的连接字符串的一般形式如下:DRIVER=Microsoft Access Driver(*.mdb);DBQ=&App.Path&JiaoXue.mdb该字符串的作用是连接到应用程序所在目录下的JiaoXue.mdb数据库。,10.2.3 连接到数据库的方法,3通过OLE-DB建立连接,使用OLE-DB建立连接的连接字符串原型如
22、下:ProviderProviderName;User IDUserName;PasswordUserPassword;initial CatalogDatabaseName;DataSource=ServerName,Provider:指定连接数据库的类型。如果连接的是Access数据库,则此处应赋值 Microsoft Jet OLEDB 4.0;如果连接的为SQL Server 2000数据库,则此处赋值为SQLOLEDB.l。,UserID:用户ID为访问数据库的用户名,例如SQL Server 2000中的sa用户。,Password:用户密码是指与用户ID对应的密码。,Initia
23、lCatalog:根据连接数据库的不同,该参数也有不同的含义,在SQL Server 2000中是指默认打开的数据库名称。,DataSource:指定连接的数据库服务器名称。不但可以是数据库服务器的名称,还可以是数据库服务器的IP地址或数据库服务器的主机名称,若是本机可以指定为或Local。,10.2.3 连接到数据库的方法,(1)通过OLE-DB连接到SQL Server数据库,通过OLE-DB连接到SQL Server数据库的连接字符串的一般形式如下:Provider=SQLOLEDB.1;User ID=sa;Password=tah980808;Initial Catalog=Coll
24、egeMIS;Data Source=TAHSJ其中,Provider关键字用于指定要连接SQL Server 2000服务器;User IDsa和PasswordTAH980808分别为连接到SQL Server 2000数据库服务器的用户名和密码;Initial Catalog指定打开的数据库为CollegeMIS;DataSource指定SQL Server数据库服务器为TAHSJ。,(2)通过OLE-DB连接到Access数据库,通过OLE-DB连接到Access数据库的连接字符串一般形式如下:Provider=Microsoft.Jet.oledb.4.0;Data Source=P
25、assword=其中“User ID=”后面写用户名,“Password=”后面写用户口令。,10.3.1 Recordset对象简介,10.3.2 Recordset对象的属性,10.3.3 Recordset对象的方法,10.3 RecordSet对象,10.3.4 访问Recordset对象中的字段的方法,10.3.1 Recordset对象简介,1.概述,Recordset 对象表示的是来自基本表或SQL命令查询结果的记录集,由一系列的行和列组成,每一行称为一条记录,每一列称为一个字段。在任何时候,Recordset 对象所指的当前记录均为记录集中的单个记录。可以使用 Recordse
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 利用 ADO 开发 数据库 应用程序
链接地址:https://www.31ppt.com/p-5932756.html