ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:50.69KB ,
资源ID:10774098      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10774098.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ADO对象编程.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ADO对象编程.docx

1、ADO对象编程补充1:ADO对象编程11ADO基础111 ADO的介绍ADO是ActiveX Data Object的缩写,它是Microsoft数据库应用程序开发的新接口,是Microsoft新的数据访问技术,是建立在OLE DB之上的高层数据库访问技术。ADO被设计用来同新的数据访问层OLE DB Provider一起协同工作,以提供通用数据访问(Universal Data Access)。OLE DB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象即使对OLE DB不了解也能轻松使用ADO,因为它非常简单易用,并不失灵活性。A

2、DO向VB程序员提供了很多好处,包括易于使用、熟悉的界面,高速度以及较低的内存占用。同传统的数据对象层次(DAO和RDO)不同,ADO可以独立建立。因此可以只创建一个“Connection”对象,但是可以有多个,独立的“Recordset”对象来使用它,另外ADO针对客户服务器以及Web应用程序作了优化。ADO最基本的操作流程:初始化COM库,引入ADO库定义文件;用Connection对象连接数据库;利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用Recordset对象取得结果记录集进行查询、处理;使用完毕后关闭连接释放对象。112 AD0的对象1 数据库

3、连接对象Connection这是ADO的最大特点。每一次引用数据库可以建立一个连接对象,然后在其之上建立多个RecordSet对象,方便远程连接的操作。建立一个Connection的方法很简单,下面例子主要介绍了Connection对象的创建、连接数据库以及关闭连接的方法:Sub ConnectionExample() Dim cnn as ADODB.connection Set cnn=new ADODB.connection 通过ODBC DSN打开数据库 cnn.open “pubs”,”sa”,” 检查是否成功建立连接对象 if cnn.state=adStateOpen then

4、msgbox “Welcome to pubs!” else msgbox “Sorry,no pubs!” end if 关闭连接对象 cnn.closeEnd sub其重要属性如表11所示。表1-1 Connection对象属性列表 属性 功能ConnectionString打开Connection时的参数设置。主要有以下几项:Provider、File Name、Remote Provider、Remote Server、URLDefaultDatabase定义Connection对象的缺省数据库Provider定义Connection对象的数据库OLE DB的提供者,如SQL Serv

5、er之类State当前状态,只读。主要返回值为adStateOpen或adStateExecuting其重要方法如表12所示。表1-2 Connection对象方法列表 方法 功能BeginTrans开始一个新的处理事务(Transaction)RollbackTrans放弃当前所有的处理事务并开启一个新的事务Cancel终止当前的数据库操作Close关闭释放Connection对象Execute执行SQL语言,或者查询Open打开Connection对象 在建立连接对象后,可以通过connExecute方法执行SQL,实现所需的一切功能。编写数据库程序时,在修改数据库内容方面,这种方法很方便

6、而且功能强大。 2记录集对象Recordset Recordset对象表示的是来自基本表或命令执行结果的记录全集,任何时候,Recordset对象所指的当前记录均为集合内的单个记录。 可使用Recordset对象操作来自提供者的数据,使用ADO时,通过Records对象可对几乎所有数据进行操作。所有Recordset对象均使用记录(行)和字段(列)进行构造。由于提供者所支持的功能不同,某些Recordset方法或属性有可能无效。打开Recordset时,当前记录位于第一个记录(如果有),并且BOF和EOF属性被设置为False。如果没有记录,BOF和EOF属性设置是True。假设提供者支持相关

7、的功能,可以使用MoveFirst、MoveLast、MoveNext和MovePrevious方法以及Move方法,和AbsolutePosition、AbsolutePage和Filter属性来重新确定当前记录的位置。Recordset对象可支持两类更新:立即更新和批更新。使用立即更新,一旦调用Update方法,对数据的所有更改将被立即写入基本数据源。也可以使用AddNew和Update方法将值的数组作为参数传递,同时更新记录的若干字段。如果提供者支持批更新,可以使提供者将多个记录的更改存入缓存,然后使用 UpdateBatch方法在单个调用中将它们传送给数据库。这种情况应用于使用AddN

8、ew、Update和Delete方法所做的更改。调用UpdateBatch方法后,可以使用Status属性检查任何数据冲突并加以解决。3命令对象Command (了解)Command 对象也是ADO的特色之一。一般用于大量数据的操作或者是对数据库表单结构的操作。Command的重要属性如表1-3所示,重要方法如表1-4所示。表1-3 Command对象属性列表 属性 功能ActiveConnection指定当前命令对象属于哪个ConnectionCommandStream指定提供命令参数的流CommandText指定参数Dialect指定参数的语法规范StateCommand对象运行状态表1-

9、4 Command对象方法列表 方法 功能Cancel放弃操作CreateParameter创建参数Excute执行参数4.字段对象FieldField 对象代表使用普通数据类型的数据的列。Recordset对象含有由Field对象组成的Fields集合。每个Field对象对应于Recordset中的一列,其重要属性如表1-5所示。表1-5 Field对象属性列表 属性 功能Name返回字段名DefineSize返回己声明的字段大小Value查看或更改字段中的数据ActualSize返回给定字段中数据的实际大小NativeError指示给定Error对象的、特定提供者的错误代码重要方法如表1-

10、6所示。表1-6 Field对象方法列表 属性 功能AppendChunk将数椐追加到大型文本、二进制数据中GetChunk返回大型文本或二进制数据Field对象的全部或部分内容5错误集合Errors(了解) Error对象包含与单个操作(涉及提供者)有关的数据访问错误的详细信息。 任何涉及ADO对象的操作都会生成一个或多个提供者错误。每个错误出现时,一个或多个Error对象将被放到Connection对象的Errors集合中。当另一个ADO操作产生错误时, Errors集合将被清空,并在其中放入新的Error对象集。 每个Error对象都代表特定的提供者错误而不是ADO错误,ADO错误被记载

11、到运行时例外处理机制中。例如,在Microsoft Visual Basic中,产生特定AD0的错误将触发On Error事件并出现在Err对象中。Error的主要属性如表1-7所示。 表1-7 Error对象属性列表 属性 功能Description包含错误的文本Number包含错误常量的长整型数目Source标识产生错误的对象。在向数据源发出请求之后,如果Errors集合中有多个Error对象,则将会用到该属性SQLState指示给定Error对象的sQL状态NativeError指不给定Errorr对象的、特定提供者的错误代码 出现提供者错误时,Error对象将被放在Connection

12、对象的Error集合中。ADO支持由单个ADO操作返回多个错误,以便显示特定提供者的错误信息。要在错误处理程序中获得丰富的错误信息,可使用相应的语言或所在工作环境下的错误捕获功能,然后使用嵌套循环枚举出Errors集合的每个Error对象的属性。 Errors集合的重要方法如表1-8所示。表1-8 Error集合的方法列表 方法 功能Clear删除集合中的所有对象Item根据名称或序号返回集合的特定成员12用ADO对象操纵数据库 在使用ADO对象操作数据库时,主要采取如下的步骤和方法: 打开数据库。首先需要创建数据库连接对象(connection),然后调用该对象的Open方法即可打开数据库。

13、 操作数据库数据。在数据库打开之后,通过Connection、Command对象执行SQL命令,或者创建记录集(Recordset)对象,使用该对象的各种方法就可以进行数据库数据的查询、定位以及增加、删除和修改。 关闭数据库。使用上面创建的数据库连接对象的close方法就可以进行数据库的关闭。 下面就分别详细介绍以上所说的各个步骤和方法。121 AD0连接数据库1连接到ODBC数据源当前使用的所有DBMS(数据库管理系统)系统实际上都可以通过ODBC进行访问。Microsoft ODBC Provider允许ADO连接到任何ODBC的数据源。ODBC驱动程序对于当今使用的各种主要DBMS都有效

14、,包括Microsoft SQL Server、Microsoft Access(Microsoft Jet数据库引擎)和Microsoft FoxPro以及诸如Oracle等非Microsoft数据库产品。要连接Microsoft ODBC Provider,就需要将连接字符串属性(ConnectionString)的参数 “Provider=”设置为:MSDASQL,可以省略Provider参数。可以使用或不使用预定义的数据源名(DSN)或FileDSN进行连接。带有DSN或FileDSN的语法如下:“Provider=MSDASQL;DSN=name| FileDSN=filename;

15、DATABASE=database; UID=user;PWD=password”无DSN(非DSN连接)的语法如下:“Provider=MSDASQL; DRIVER=driver;SERVER=server;DATABASE=database;UID=user;PWD=password”如果使用DSN或FileDSN,则必须通过“Windows控制面板”中的“ODBC管理器”进行定义。作为设置DSN的替换方法,可以指定ODBC的驱动程序(DRIVER=),诸如;“SQLServer”、服务器名(SERVER=)和数据库名(DATABASE=)。也可以在特定ODBC的参数或标准ADO定义的U

16、serID和Password参数中为用户帐号:指定用户账号名(UID=)和密码(PWD=)。即使DSN定义已经指定了数据库,也可以在DSN之外指定DATABASE参数以便连接到不同的数据库。这同时更改了DSN定义以包括指定的数据库。使用DSN时始终包括 DATABASE参数是一种好办法。这样将保证能连接到正确的数据库,因为其他用户可能会在上一次检查DSN定义后更改默认的数据库参数。2连接到Access数据库可以使用指定OLE DB提供者和连接字符串来连接Access数据文件。例如:set con=new ADODB.connectioncon.Open provider=Microsoft.J

17、et.OLEDB.4.0;Data Source=c:library.mdb;Persist Security Info=False 其中c:library.mdb为数据库的路径和名称。 如果数据库有密码,则: Provider=MicrosoftJetOLEDB40;Password=sa;User ID=rose;DataSource= c:library.mdb;Persist Security Info=True 其中rose为用户名;sa为密码 如果数据库是局域网其他计算机上的,那么这个数据库所在的至少上一层目录为共享,采用下面办法:Provider=Microsoft.Jet.OL

18、EDB.4.0;UserID=rose;DataSource=qyKongdatalibrary.mdb;Persist Security Info=False 这里“qyKongdatalibrary.mdb”为在网络邻居中名qyKong的机器上(IP也可以)上的data文件夹下的名为library的Access数据。3连接到SQL Server数据源 以下范例通过打开3个使用不同提供者的Connection对象演示Provider属性,还使用 DefaultDatabase属性设置Microsoft ODBC提供者的默认数据库。Private Sub Providerx() Dim cnn

19、1 As ADODB.Connection Dim cnn2 As ADODB.Connection Dim cnn3 As ADODB.Connection 使用Microsoft ODBC提供者打开数据库 Set cnn1 = New ADODB.Connection cnn1.ConnectionString = driver=SQL Server; & _ server=bigsmile;uid=sa;pwd=pwd cnn1.Open strcnn cnn1.DefaultDatabase = Pubs 显示提供者 MsgBox cnn1 provider: & cnn1.Provi

20、der 使用Microsoft Jet提供者打开数据库 Set cnn2 = New ADODB.Connection cnn2.Provider = Microsoft.Jet.OLEDB.3.51 cnn2.Open c:samplesnorthwind.mdb, admin 显示提供者 MsgBox cnn2 provider: & cnn2.Provider 使用Microsoft SQL服务器提供者打开数据库 Set cnn3 = New ADODB.Connection cnn3.Provider = sqloledb cnn3.Open Data source=srv;Initi

21、al Catalog=pubs;, sa 显示提供者 MsgBox cnn3 provider: & cnn3.Provider cnn1.Close cnn2.Close cnn3.CloseEnd Sub通过以上介绍,可以总结出ADO与不同数据库连接所使用的连接字符串如下: ODBC连接1 ODBC-DSN连接方法:cnn.Open dsn=advWorks;uid=admin;pwd=;advWorks为数据源名。ODBC-File DSN连接方法:cnn.Open filedsn=c:somepathmydb.dsn;uid=admin;pwd=;ODBC Driver for Acc

22、ess方法:cnn.Open driver=Microsoft Access Driver (*.mdb);dbq= c:somepathmydb.mdb;uid=admin;pwd=;ODBC Driver for SQL Server方法:cnn.Open driver=SQL Server;server=myServerName;database= myDatabaseName;uid=admin;pwd=; OLE DB Provider连接1 OLE DB Provider For Microsoft Jet方法:con.Open provider=Microsoft.Jet.OLE

23、DB.4.0; Data Source= c:somepathmydb.mdb;uid=admin;pwd=;2 OLE DB Provider For ODBC DatabaseAccess(Jet)方法:cnn.Open Provider=MSDASQL;driver=Microsoft Access Driver (*.mdb);dbq=c:somepathmydb.mdb;uid=myUserName;pwd=myPassWord;SQL Server: 方法:cnn.Open Provider=MSDASQL;driver=SQL Server; server=myServerNam

24、e;database=myDatabaseName; uid=myUserName;pwd=myPassWord; MS remote 连接1 MS remote for Access(Jet)通过ODBC DSN方法:cnn.Open Provider=MS remote;Remote Server=http:/myServerName;Remote Provider=MSDASQL; dsn=advWorks;uid=myUserName;pwd=myPassWord;通过OLE DB Provider方法:cnn.Open Provider=MS remote;Remote Server

25、=http:/myServerName;Remote Provider= Microsoft.Jet.OLEDB.4.0; database= myDatabaseName; uid=admin;pwd=;2 MS remote for SQL Server通过ODBC DSN方法:cnn.Open Provider=MS remote;Remote Server=http:/myServerName;Remote Provider=MSDASQL; dsn=myDataSourceName;uid=myUserName;pwd=myPassWord;通过OLE DB Provider方法:c

26、nn.Open Provider=MS remote;Remote Server=http:/myServerName;Remote Provider=SQLOLEDB; dataSource= myServerName; Initial Catalog=myDatabaseName; uid=myUserName;pwd=myPassWord;1.2.2用记录集(Recordset)对象操纵数据记录集(Recordset)对象是ADO操作数据最常用的对象,也是学习的关键所在。1创建、打开RecordSet对象以及浏览数据记录下面来学习一个例子(例6.0):注意:要想在程序中使用ADO对象,必

27、须先为当前工程引用ADO的对象库。引用方式是执行“工程”菜单的“引用”命令,启动引用对话框,在清单中选取“Microsoft ActiveX Data Objects 2.0 Library”选项。Public Sub ADOOopenRecords() Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim fld As ADODB.Field 打开连接 Set cnn = New ADODB.Connection cnn.Open provider=Microsoft.Jet.OLEDB.4.0;Data Source= & A

28、pp.Path & northwind.mdb;Persist Security Info=False 打开方式 forward_only,read_only Set rst = New ADODB.Recordset rst.Open select * from 客户 where 地区=WA, cnn, adOpenForwardOnly, adLockReadOnly 输出第一个记录的所有字段值 For Each fld In rst.Fields Debug.Print fld.Value & ; Next Debug.Print 关闭数据记录集对象 rst.Close cnn.Clos

29、eEnd Sub至于Move,MoveNext,MoveFirst之类的方法,和DAO用法相同。 2查询数据记录 ADO的查询数据库记录只有Find方法,该方法允许使用一个查找字符串,它由单引号()或数码符号(#)加以封闭。双引号(”)不能使用,数码符号必须封闭数值。如果使用Like操作符,就可以用星号(*)作为字符串值中的通配符。然而,星号必须是值中的最后一个字符或值中的唯一字符。否则会发生运行时错误。除了搜寻条件外,Find方法还有几个参数。应指明开始搜索时要跳过的记录数;否则,搜索从当前记录开始。当要开始搜索下一个值时,应当指明一个起始值。在记录集中也可以指明是否向回搜索(相开头)或者向

30、前(向尾部),可以通过指明书签作为搜索的开始位置。find方法的调用语法是:RstName.Find strCriteria,IngSkipRecords,IngSearchDirection,varStart其中strCriteria是查找条件,比较符仅限于“=”、“”、“=”、“=”和“LIKE”,比较只是针对于表中的单个字段。3增、删、改数据记录ADO可以用与DAO完全相同的方法进行添加、删除的操作。唯一不同的是要先建立一个connection对象。ADO还提供了一种快捷的添加方式:Rst.AddNew Array(CompanyName,Phone),Array(ABCD CO, (010)123-4567)修改现有记录时,ADO不需要调用Edit方法,直接对当前记录某字段属性赋值之后调用update方法就可以实现。4.构造无数据源的数据集所述的无“数据源”连接,意义不是不需要数据源,否则连接无从谈起,而是不需要配置注册数据源所进行的连接。ODBC是用不同数据源的标准编程语言接口。根据前面的有关章节介绍,在实现ODBC时,必须首先配置ODBC环境,进行数据源的注册,然后才能在对数据库编程时,对数据源进行连接、访问和操作。ADO

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1