第9章ADO编程.ppt
《第9章ADO编程.ppt》由会员分享,可在线阅读,更多相关《第9章ADO编程.ppt(50页珍藏版)》请在三一文库上搜索。
1、1,第9章 ADO对象和ADO编程,2,9.1 ADO的编程模型,ADO(ActiveX Data Objects)是Microsoft公司最新推出的数据访问技术。它将逐步替代DAO和RDO而成为主要的数据访问接口。 1 ADO编程模型的层次结构简介 ADO编程模型主要由连接(Connection)、命令(Command)、记录集(Recordset)、字段(Field)、参数(Parameter)、错误(Error)和属性(Property)等七个对象集合组成。图9-1表示了ADO对象模型的层次结构。,3,1. ADO编程模型的层次结构,4,2. 连接对象( Connection),Conn
2、ection对象代表了打开的与数据源的连接。 建立与数据源的连接后,可以用Connection的属性和方法来执行各种操作。如: ConnectionString属性:连接字符串,对连接进行初始化。 Provider属性:指定OLE DB的提供者。 Open方法:建立到数据源的物理连接。可用Close方法将其切断。 Execute方法:对连接执行的各种操作。 Cancel方法:取消Open方法或Execute方法的调用。,5,3.命令对象(Command),Command对象定义了将对数据源执行的命令,相当于一个查询。使用Command对象查询数据库,并返回Recordset对象中的记录。命令可
3、以在数据源中添加、删除或更改数据。 常用的属性和方法如下: ActiveConnection属性:设置到数据源的连接信息。 CommandText属性:指定发送的命令文本。如SQL语句、数据表名称。 CommandType属性:设置或返回CommandText的类型。 Execute方法:执行CommandText指定的操作。 Cancel方法:取消Execute方法的调用。,6,4.记录集对象(Recordset) 描述来自数据表或命令执行结果的记录集合。 Recordset对象是在行中检查和修改数据最主要的方法。常用于指定可以检查的记录,移动记录,添加、更改或删除记录等。 Recordse
4、t对象常用的属性: Source:返回或设置Recordset对象的生成方式:Command对象、SQL语句或查询名 RecordCount:返回记录集中的记录总数。 AbsolutePosition: 记录指针位置(从1开始).,7,BOF、EOF:标志当前记录指针是否首记录之前或末记录之后。 Bookmark:返回或设置Recordset对象中当前记录的书签。 CursorType:返回或设置Recordset对象中 使用的游标类型。 Filter:设置Recordset对象中的数据筛选条件。 Sort:设置排序字段。,8,Recordset对象常用的方法:,Open:打开代表数据表、查询
5、结果等记录集。 MoveFirst, MoveLast, MoveNext,和MovePrevious:移动记录指针到首记录,末记录,下一个记录,上一个记录。 AddNew:创建一条新的空记录。 Update:保存当前记录的更改。 CancelUpdate:调用Update方法之前取消对当前记录的更改。 Delete:删除当前记录。 Requery:重新执行生成Recordset对象的查询,以更新其中数据。,9,5. 字段对象(Field)和字段集合(Fields),Field对象代表记录中的一列,Fields是Field对象的集合,描述记录中的字段的集合。 Fields的主要属性和方法如下:
6、 Name属性:字段的名称。 Value属性:字段的值。 Count属性:得到Fields集合中包含的Field对象的数量。 Append方法:用于向Fields集合添加一个Field对象。 Delete方法:用于从Fields集合中删除一个Field对象。 使用格式:Fields.Delete FieldName 其中Fields是要删除字段的Fields集合,FieldName是要删除的Field对象名。,10,9.2 使用ADO对象编程,使用ADO对象编程,一般有以下几个步骤: 在VB工程中引用ADO对象库; 建立与数据库的连接; 创建命令; 运行命令; 使用记录集的属性和方法操作数据库
7、中的数据。,11,9.2.1 引用ADO对象,要在VB中使用ADO对象编程时,事先必须在工程中引用ADO对象库。 在VB6.0中提供了ADO类型库ADODB 引用方法:执行菜单工程引用命令, 在打开的引用对话框中,选中: “Microsoft ActiveX Data Objects 2.6 Library“ 单击确定按钮,12,9.2.2 建立与数据源的连接,建立与SQL Server数据库连接的方法很多,这里主要介绍最常用的方法,即用DSN建立连接。 以前边已配置好的数据源cjgl为例,建立数据源的代码格式有以下二种。 1用Connection对象的ConnectionString属性 D
8、im cn As New ADODB.Connection 定义连接对象变量cn cn. Connectionstring = “DSN= cjgl ; uid=sa ; pwd = sa“ cn. ConnectionTimeout=10 cn.Open 打开连接 其它操作数据库的代码 cn.Close 关闭连接,13,2用Connection对象的带参数的Open方法 Dim cnn As New ADODB.Connection 定义连接对象变量cnn cnn.Open “DSN=cjgl; uid=sa; pwd=sa; “ 打开连接 其它代码 cnn.Close 关闭连接,14,9.
9、2.3 创建命令及运行命令,1创建命令 建立和数据源的连接后,可以先声明Command类型的对象变量,然后设置该对象变量的ActiveConnection属性指定该命令使用的连接对象,设置CommandText属性,设置命令文本字符串,则该命令对象就可以在以后的程序中使用了。以下为常见的代码编写格式: Dim cmd As New ADODB.Command 声明Command对象变量 Set cmd . ActiveConnection= cn 指定该命令使用的连接对象 cmd . CommandText = “Select * From 教师信息表” 其它代码,15,2运行命令 运行命令以
10、返回Recordset集合。可以用Connection.Excute、Command.Excute、Recordset.Open这三种方法运行命令,它们的完整语法格式如下: Connection.Excute( CommandText , RecordsAffected , Options ) Command.Excute( RecordsAffected, Parameters, Options ) Recordset.Open Source, ActiveConnection, CursorType, LockType, Options,16,以下代码用Recordset的Open方法运行
11、命令cmd。 Dim rs As New ADODB. Recordset rs. CursorLocation = adUseClient 使用本地游标库提供的客户端游标 rs.Open cmd,adOpenStatic, adLockBatchOptimistic ,17,9.2.4 用代码访问ADO对象,用代码访问ADO对象,通过操作ADO对象的方法和设置其属性,可实现对数据库的访问和控制。访问ADO对象时,一般先声明对象变量,然后建立该对象的引用,程序执行完,最后应释放对象变量。如: Dim cn As New ADODB.Connection 声明Connection对象变量 cn.
12、Open “DSN=cjgl; uid=sa; pwd=sa; “ Set cn = Nothing 释放对象变量,18,使用ADO对象时,可以通过对象的Index属性或Name属性建立对对象的访问。 如访问Recordset的Fields对象的语法格式有以下几种: Dim rst As New ADODB.Recordset rst.Fields (Index) 使用索引号访问字段,Index=0表示第一个字段(第一列) rst. Fields (“FieldName“) 使用对象名 rst. Fields.Item (Index) rst. Fields.Item (“FieldName“
13、) rst. Fields ! FieldName 使用对象名,19,如下面的代码中,分别用Fields对象的Index属性或Name属性来引用字段: Dim rst As New ADODB.Recordset Text1.Text =rst.Fields(0) Text1.Text =rst .Fields(“学号”) Text1.Text =rst.Fields.Item(0) Text1.Text =rst .Fields.Item(“学号”) Text1.Text =rst .Fields!学号 以上几个对记录集中的字段进行操作的语句的功能是相同的,即将“学号”字段的数据项显示到文本
14、框Text1中。,20,9.3 ADO编程应用举例,例9-1 打开一个连接后,创建并运行命令,将教师信息表中部分记录集中的部分字段打印到窗体上。要求只显示男教师的姓名、性别、单位。 设计过程如下: (1). 新建工程,在窗体中添加一个命令钮(界面如图)。 设置命令钮的属性: Name :Cmd1 , Caption : “显示数据“,21,(2). 配置ODBC数据源: 将SQL Server数据库 “成绩管理”,配置ODBC数据源,名称: “cjgl“, (3). 引用ADO对象: 在VB工程中,执行菜单工程引用,选中 “Microsoft ActiveX Data Objects 2.6
15、Library“ (4). 编写代码: 在窗体的(通用)(声明)段,声明以下对象变量: Dim cn As New ADODB.Connection Dim cmd As New ADODB.Command Dim rst As New ADODB.Recordset,22,Private Sub Cmd1_Click() Dim i As Integer cn.Open “DSN=cjgl; uid=sa; pwd=sa; “ 建立数据源连接 Set cmd .ActiveConnection=cn 创建命令 cmd.CommandText = “Select * From 教师信息表“ 设
16、置作为命令文本的SQL语句 cmd.CommandType = adCmdText 设置命令类型 cn.CursorLocation = adUseClient rst.Open cmd 运行cmd命令产生记录集,23,使用记录集对象: rst.Sort = “姓名“ 按姓名字段排序 rst.Filter = “ 性别= 男 “ rst.MoveFirst Print “姓名 “ & “ 性别 “ & “ 单位“ Print For i = 0 To rst.RecordCount - 1 Print rst.Fields(“姓名“) & “ “ & rst.Fields(“性别“) & “
17、“ & rst.Fields(“单位“) rst.MoveNext Next i cn.Close 释放各对象变量: Set rst = Nothing Set cmd = Nothing Set cn = Nothing End Sub,图9-3 例9-1的运行结果,24,例9-2 设计教师信息表数据编辑窗体。,(1)新建工程。 (2)引用ADO对象:执行菜单:工程引用,选中“Microsoft ActiveX Data Objects 2.6 Library“ (3)配置数据源 与例9-1用同一个数据源:cjgl , 所以不必重新配置。 (4)设计界面如图9-4。 建立标签Label1和文
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADO 编程
链接地址:https://www.31doc.com/p-2578891.html