《VB中的ADO对象编程资料.ppt》由会员分享,可在线阅读,更多相关《VB中的ADO对象编程资料.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、VB中的中的ADO对象对象编程编程 补充内容ADO(ActiveX Data Objects)ActiveX数据对象n是微软最新的数据访问技术,与OLEDB一起工作。OLEDB是一个低层的基于COM的数据访问接口,它向应用程序提供了一个统一的数据访问方法,用它可以访问各种数据源,包括关系型数据库、电子邮件系统、自定义的商业对象。n其模型如下:VB应用程序ADOOLE DBRDBMSEmail目录管理先在VB工程中把ADO对象库加载上工程引用选中microsoftactivexdataobject2.7library一、通过一、通过DSN建立连接建立连接nDSN:应用程序用以请求一个连到应用程序
2、用以请求一个连到ODBC(open database connectivity,开开放数据库互连放数据库互连)数据源的连接的名字。数据源的连接的名字。n也就是说他代表也就是说他代表ODBC连接的名字,隐连接的名字,隐藏了诸如数据库名字、所在目录、数据藏了诸如数据库名字、所在目录、数据库驱动程序、用户库驱动程序、用户ID、密码等,使具体密码等,使具体的数据库对应用程序变得透明。的数据库对应用程序变得透明。n1、DSN分类:n系统DSN:可以被登陆到系统中的所有用户使用。n用户DSN:为特定用户建立的,只能被建立他的用户使用。n文件DSN:用于文档的DSN。n2、如何建立Access的系统DSN:
3、(Winxp)n(1)开始控制面板性能维护管理工具数据源ODBC;n(2)单击系统DSN选项卡添加创建新数据源3、建立建立SQL Server系统系统DSNnDimcnaasnewadodb.connectionnDimcnbasnewadodb.connectionnPrivatesubcommand1_click()nDimcnastringasstringnCnastring=“dsn=sqlpubs;uid=sa;pwd=1234”SQLDSN数据源的连接字符串nWithcnan.connectionstring=cnastringn.connectiontimeout=10n.ope
4、nnEndwithn或:cna.open“dsn=sqlpubs;uid=sa;pwd=1234”n或:can.openCnastringCna.close关闭连接EndsubnPrivatesubcommand2_click()nDimcnbstringasstringnCnbstring=“dsn=aa;uid=;pwd=”AccessDSN数据源的连接字符串nWithcnbn.connectionstring=cnastringn.connectiontimeout=10n.opennEndwithn或:cnb.open“dsn=aa;uid=;pwd=”Cnb.close关闭连接End
5、sub二、直接使用数据库文件名n1、SQLServer的连接字符串n“driver=SQLServer;server=bjz;database=pubs;uid=sa;pwd=1234”n2、Access的连接字符串n(1)“driver=Microsoftaccessdriver(*.mdb);DBQ=“&app.path&“student.mdb”n(2)使用OLEDB提供者建立连接nprovider=Microsoft.Jet.OLEDB.4.0;Data Source=“&App.Path&”student.mdb&“user id=;password=”ADO中比较重要的是:Comm
6、and,Connection,Recordset对象n(1)Connection对象Connection对象用于建立与数据库对象用于建立与数据库的连接,通过连接可从应用程序访问数的连接,通过连接可从应用程序访问数据源据源.它保存诸如指针类型它保存诸如指针类型,连接字符串连接字符串,查询超时查询超时,连接超时和缺省数据库这样的连接超时和缺省数据库这样的连接信息。连接信息。n2)CommandCommand对象对象 在建立在建立ConnectionConnection后后,可以发出命令可以发出命令操作数据源。一般情况下操作数据源。一般情况下,Command,Command对象对象可以在数据库中添加
7、可以在数据库中添加,删除或更新数据删除或更新数据,或者在表中进行数据查询。或者在表中进行数据查询。CommandCommand对象对象在定义查询参数或执行一个有输出参数在定义查询参数或执行一个有输出参数的存储过程时非常有用。的存储过程时非常有用。n(3)RecordsetRecordset对象对象RecordsetRecordset对象只代表一个记录集对象只代表一个记录集,这个记这个记录集是一个连接的数据库中的表录集是一个连接的数据库中的表,或者是或者是CommandCommand对象的执行结果返回的记录集对象的执行结果返回的记录集.在在ADOADO对象模型中对象模型中,是在行中检查和修改数据
8、的最主是在行中检查和修改数据的最主要的方法要的方法,所有对数据的操作几乎都是在所有对数据的操作几乎都是在RecordsetRecordset对象中完成的。对象中完成的。RecordRecord对象用于指对象用于指定行定行,移动行移动行,添加添加,更改更改,删除记录删除记录.n在实际编程过程中使用在实际编程过程中使用ADOADO的一个典型的的一个典型的存取数据的步骤为:存取数据的步骤为:1 1、连接数据源连接数据源2 2、打开记录集对象打开记录集对象3 3、使用记录集使用记录集4 4、断开连接断开连接n1 1、如何连接数据源如何连接数据源利用利用ConnectionConnection对象可以创
9、建一个数据源的连接对象可以创建一个数据源的连接.应应用的方法是用的方法是ConnectionConnection对象的对象的OpenOpen方法方法.语法语法:ConnectionConnection对象对象.Open.Open ConnectionStringConnectionString,UserIDUserID,PassWordPassWord,OpenOptionsOpenOptions其中:其中:ConnectionConnection对象为你定义的对象为你定义的ConnectionConnection对象的实例对象的实例;ConnectionStringConnectionStr
10、ing为可选项为可选项,包含了连接的数据库的信包含了连接的数据库的信息息;UserIDUserID 可选项可选项,包含建立连接的用户名包含建立连接的用户名;PassWordPassWord为可选项为可选项,包含建立连接的用户密码包含建立连接的用户密码;OpenOptionsOpenOptions为可选项为可选项,假如设置为假如设置为dConnectAsyncdConnectAsync,则则连接将异步打开连接将异步打开.n例:cn.openCnstringn2.2.打开记录集对象打开记录集对象 实际上记录集返回的是一个从数据实际上记录集返回的是一个从数据库取回的查询结果集库取回的查询结果集.因此
11、有三种打开方因此有三种打开方法法:n一种使用记录集的一种使用记录集的OpenOpen方法。方法。n另一种是用另一种是用ConnectionConnection对象的对象的ExecuteExecute方方法法.n一种是用一种是用CommandCommand对象的对象的ExecuteExecute方法方法.n(a)(a)记录集的记录集的OpenOpen方法方法语法语法:Recordset.OpenRecordset.Open Source,Source,ActiveConnectionActiveConnection,CursorTypeCursorType,LockTypeLockType,Op
12、tions,Options其中:其中:RecordsetRecordset为所定义的记录集对象的实例为所定义的记录集对象的实例.SourceSource可选项可选项,指明了所打开的记录源信息指明了所打开的记录源信息.可以是可以是合法的命令合法的命令,对象变量名对象变量名,SQL,SQL语句语句,表名表名,存储过程调用存储过程调用,或保存记录集的文件名或保存记录集的文件名.ActiveConnectionActiveConnection可选项可选项,合法的已打开的合法的已打开的ConnectionConnection对象的变量名对象的变量名,或者是包含或者是包含ConnectionStringC
13、onnectionString参数的字符串参数的字符串.CursorTypeCursorType可选项可选项,确定打开记录集对象使用的指确定打开记录集对象使用的指针类型针类型.LockTypeLockType可选项可选项 确定打开记录集对象使用的锁定确定打开记录集对象使用的锁定类型类型.n(b)Connectionb)Connection对象的对象的ExecuteExecute方法方法语法语法:Set Set recordsetrecordset=Connection.Execute(CommandText,Connection.Execute(CommandText,RecordsAffec
14、ted,OptionsRecordsAffected,Options)参数说明参数说明:CommandTextCommandText 一个字符串一个字符串,返回要执行的返回要执行的SQLSQL命令命令,表名表名,存储过程或指定文本存储过程或指定文本.RecordsAffectedRecordsAffected 可选项可选项,Long,Long类型的值类型的值,返回操作影响的记录数返回操作影响的记录数.Options Options 可选项可选项,Long,Long类型值类型值,指明如何处指明如何处理理CommandTextCommandText参数参数.n(c)CommandCommand对象
15、的对象的ExecuteExecute方法方法使用使用Command对象的对象的Execute方法执行方法执行CommandText属性中设置的属性中设置的SQL命令命令,返回查询返回查询记录集记录集.语法如下语法如下:Command.Execute RecordsAffected,Parameters,Options 不返回记录集不返回记录集或者或者 Set Recordset=command.Execute(RecordsAffected,Parameters,Options)返回记录集返回记录集CommandText的语法为的语法为:Command.CommandText=stringva
16、riable其中其中:stringvariable为字符串变量为字符串变量,包含包含SQL语句语句,表名或存储过程表名或存储过程.n3.3.使用记录集使用记录集(a)(a)添加新的记录添加新的记录:在在ADOADO中添加新的记录用的方法为中添加新的记录用的方法为:AddNewAddNew 它它的语法为的语法为:Recordset.AddNewRecordset.AddNew FieldListFieldList,Values,ValuesRecordsetRecordset为记录集对象实例为记录集对象实例FieldListFieldList为一个字段名为一个字段名,或者是一个字段数或者是一个字
17、段数组组.ValuesValues为给要加信息的字段赋的值为给要加信息的字段赋的值,如果如果FiledListFiledList为一个字段名为一个字段名,那么那么ValuesValues应为一个单应为一个单个的数值个的数值,假如假如FiledListFiledList为一个字段数组为一个字段数组,那么那么ValuesValues必须也为一个个数必须也为一个个数,类型与类型与FieldListFieldList相同相同的数组的数组.当用当用AddNewAddNew方法为记录集添加新的记录后方法为记录集添加新的记录后,应应使用使用UpDateUpDate将所添加的的数据存储在数据库中将所添加的的数
18、据存储在数据库中.(记录的修改)(记录的修改)(b)(b)删除记录删除记录在在ADOADO中删除记录集中的数据的方法为中删除记录集中的数据的方法为:Delete:Delete方法方法,这与这与DAODAO对象的方法相同对象的方法相同,但是但是在在ADOADO中它的能力增强了中它的能力增强了,可以删掉一组记录可以删掉一组记录了了.它的语法如下它的语法如下:Recordset.DeleteRecordset.Delete AffectRecordsAffectRecords其中的其中的,AffectRecordsAffectRecords参数是确定参数是确定DeleteDelete方法作用的方式的
19、方法作用的方式的,它的取值如下它的取值如下:adAffectCurrentadAffectCurrent 只删除当前的记录只删除当前的记录adAffectGroupadAffectGroup 删除符合删除符合FilterFilter属性设属性设置的那些记录置的那些记录.为了为了一次能删除一组数据一次能删除一组数据,应应设置设置FilterFilter属性属性.(c)(c)查询记录查询记录在在ADOADO中查询的方法很灵活中查询的方法很灵活,有几种查询有几种查询的方法的方法.使用连接对象的使用连接对象的ExecuteExecute方法执行方法执行SQLSQL命命令令,返回查询记录集返回查询记录集
20、.使用使用CommandCommand对象的对象的ExecuteExecute方法执行方法执行CommandTextCommandText属性中设置的属性中设置的SQLSQL命令命令,返回查询返回查询记录集记录集.使用记录集的使用记录集的Open方法,返回查询记录方法,返回查询记录集。集。4.4.断开连接断开连接在应用程序结束之前在应用程序结束之前,应该释放分配给应该释放分配给ADOADO对象的资源对象的资源,操作系统回收这些资源并可以再分操作系统回收这些资源并可以再分配给其他应用程序配给其他应用程序.使用的方法为使用的方法为:Close:Close方法方法.语法如下语法如下:Object.C
21、lose ObjectObject.Close Object为为ADOADO对象对象如果不做的话,通常如果不做的话,通常VisualBasicVisualBasic会自动释放和会自动释放和回收资源。回收资源。rs.Closers.CloseSet Set rsrs=Nothing=NothingSet Set cmdcmd=Nothing=Nothingcn.Closecn.CloseSet Set cncn=Nothing=Nothing 二、二、数据库访问对象(数据库访问对象(ADO)nADO(ActiveX Data Objects)ActiveX数据对象数据对象是是微软最新的数据访问技
22、术,与微软最新的数据访问技术,与OLE DB一起一起工作。工作。n在在Visual Basic中使用中使用ADO 在一个打开的在一个打开的Visual Basic 6.0的工程中,选择菜单的工程中,选择菜单工程工程 /引用引用命令,出现命令,出现“引用引用”对话框。在对话框。在“可可用的引用用的引用”列表框中选择列表框中选择Microsoft ActiveX Data Objects 2.8 选项,单击选项,单击确定确定按钮,就可以在程序按钮,就可以在程序中加入对中加入对ADO的引用了。的引用了。使用使用ADO可以实现以下目的可以实现以下目的:a)连接一个本地数据库或远程数据库连接一个本地数据
23、库或远程数据库b)打开一个指定的数据库表,或定义一个基于打开一个指定的数据库表,或定义一个基于结构化查询语言(结构化查询语言(SQL)的查询或存储过程的查询或存储过程或该数据库中的表的视图的记录集合或该数据库中的表的视图的记录集合c)将数据字段的值传递给数据绑定的控件,可将数据字段的值传递给数据绑定的控件,可以在这些控件中显示或更改这些数值以在这些控件中显示或更改这些数值d)添加新的记录,或根据对绑定的控件中的数添加新的记录,或根据对绑定的控件中的数据的更改来更新一个数据库据的更改来更新一个数据库ADO的内置对象的内置对象1、连接对象(、连接对象(Connection)用来与数据库建立连接。在
24、建立连接前,最主要的是需要设置用来与数据库建立连接。在建立连接前,最主要的是需要设置连接字符串,用来指定连接数据库所用的驱动程序、数据源名连接字符串,用来指定连接数据库所用的驱动程序、数据源名称、用户名和密码等。称、用户名和密码等。常用的属性与方法:常用的属性与方法:ConnectionString属性属性:连接字符串,在打开连接前需要设置:连接字符串,在打开连接前需要设置 ConnectionTimeout和和Mode属性:超时时间和连接模式,一属性:超时时间和连接模式,一般在打开连接前也需要设置般在打开连接前也需要设置 CursorLocation属性:设置或者返回游标位置属性:设置或者返
25、回游标位置 DefaultDatabase属性:为连接指定一个默认的据库属性:为连接指定一个默认的据库 Provider属性:为连接指定一个驱动程序,可以包括在属性:为连接指定一个驱动程序,可以包括在ConnectionString 中中 Open,Close 方法方法:建立或中断一个连接:建立或中断一个连接 Execute方法方法:在连接上执行命令,比如执行一个:在连接上执行命令,比如执行一个SQL语句语句 Errors对象:数据源返回的错误信息对象:数据源返回的错误信息(eg)“连接连接”是交换数据所必需的环境,通过是交换数据所必需的环境,通过“连接连接”可使可使应用程序访问数据源。应用程
26、序访问数据源。Connection对象用于指定专门的对象用于指定专门的提供者和任意参数。下表提供者和任意参数。下表 列出列出Connection对象的常用属性对象的常用属性和方法。和方法。ConnectionString属性属性指定到数据源的指定到数据源的连连接字符串接字符串Open方法方法打开到数据源的打开到数据源的连连接接Execute方法方法对连对连接接执执行各种操作行各种操作Cancel方法方法取消取消Open或或 Execute方法的方法的调调用用Close方法方法关关闭闭打开的打开的Connection对对象象 如何如何连接接n利用利用ConnectionConnection对象可
27、以创建一个数据源的连接对象可以创建一个数据源的连接.应用应用的方法是的方法是ConnectionConnection对象的对象的OpenOpen方法方法.语法语法:ConnectionConnection对象对象.Open.Open ConnectionStringConnectionString,UserIDUserID,PassWordPassWord,OpenOptionsOpenOptions其中:其中:ConnectionConnection对象为你定义的对象为你定义的ConnectionConnection对象的实例对象的实例;ConnectionStringConnectionS
28、tring为可选项为可选项,包含了连接的数据库的包含了连接的数据库的信息信息;UserIDUserID 可选项可选项,包含建立连接的用户名包含建立连接的用户名;PassWordPassWord为可选项为可选项,包含建立连接的用户密码包含建立连接的用户密码;OpenOptionsOpenOptions为可选项为可选项,假如设置为假如设置为adConnectAsyncadConnectAsync,则连接将异步打开则连接将异步打开.直接使用数据库文件名建立连接1、SQL Server 的连接字符串的连接字符串“driver=SQLServer;server=127.0.0.1;database=st
29、udent;uid=sa;pwd=xxxx”2、Access的连接字符串的连接字符串(1)“driver=Microsoftaccessdriver(*.mdb);DBQ=“&app.path&“student.mdb”(2)使用OLEDB提供者建立连接provider=Microsoft.Jet.OLEDB.4.0;Data Source=“&App.Path&”student.mdb&“user id=;password=”2、命令对象(、命令对象(Command)定义了数据库的一系列操作。使用命令对象来查询数据定义了数据库的一系列操作。使用命令对象来查询数据库,查询结果以数据集对象(库,
30、查询结果以数据集对象(Recordset)形式返回。命形式返回。命令对象在操纵数据库前需要与一个已经打开的连接对象令对象在操纵数据库前需要与一个已经打开的连接对象(Connection)建立关联。建立关联。常用的属性与方法:常用的属性与方法:ActiveConnection属性属性:将一个命令行对象与一个打开的:将一个命令行对象与一个打开的连接关联连接关联 CommandText属性属性:定义命令行的内容,比如:定义命令行的内容,比如SQL语句等语句等 CommandType属性:指定命令的类型属性:指定命令的类型 CommandTimeout属性:指定服务器等待一条命令执行的属性:指定服务器
31、等待一条命令执行的时间时间 Execute方法方法:执行命令并返回一个数据集对象:执行命令并返回一个数据集对象(Recordset)ActiveConnection属性属性设设置到数据源的置到数据源的连连接信息接信息CommandText属性属性定定义义命令(例如,命令(例如,SQL语语句)的可句)的可执执行文本行文本CommandType属性属性指定命令指定命令类类型以型以优优化性能化性能Execute方法方法执执行行CommandText属性指定的操作属性指定的操作Cancel方法方法取消取消Execute方法的方法的调调用用3、数据集对象(、数据集对象(Recordset)定义了从数据库
32、返回的一系列记录的集合。通过数定义了从数据库返回的一系列记录的集合。通过数据集可以对记录及组成记录的列进行各种操作。据集可以对记录及组成记录的列进行各种操作。常用的属性与方法:常用的属性与方法:RecordCount属性属性:返回记录集中记录的条数:返回记录集中记录的条数 BOF,EOF属性属性:返回记录集中游标的当前位置是否是记:返回记录集中游标的当前位置是否是记录集的头或尾录集的头或尾 MoveNext,MovePre:将记录集中的游标向后、前移动一将记录集中的游标向后、前移动一个位置个位置 MoveFirst,MoveLast:将记录集中的游标移动到最前或将记录集中的游标移动到最前或最后
33、最后ActiveConnection属性属性返回返回Recordset对对象所属的象所属的Connection对对象。象。BOF和和EOF属性属性指示当前指示当前记录记录指指针针是否位于首是否位于首记录记录前、末前、末记录记录后。后。Bookmark属性属性返回并返回并设设置当前置当前记录记录的的书签书签CursorType属性属性指定打开指定打开Recordset对对象象时应该时应该使用的游使用的游标类标类型型Filter属性属性设设置置Recordset对对象中的象中的筛选筛选条件条件RecordCount属性属性返回返回Recordset对对象中象中记录记录的数目的数目Sort属性属性设
34、设置排序字段置排序字段Source属性属性指定指定Recordset对对象的数据源:象的数据源:Command对对象象变变量、量、SQL语语句、存句、存储过储过程程AddNew方法方法可可创创建和初始化新建和初始化新记录记录CancelUpdate方法方法可取消可取消对对当前当前记录记录所作的任何更改或放弃新添加的所作的任何更改或放弃新添加的记录记录Delete方法方法删删除当前除当前记录记录或或记录组记录组Move方法方法移移动动Recordset对对象中当前象中当前记录记录的位置的位置MoveFirst、MoveLast、MoveNext和和MovePrevious方方法法移移动动到指定到
35、指定Recordset对对象中的第一个、最后一个、下一个或上一个象中的第一个、最后一个、下一个或上一个记记录录并使并使该记录该记录成成为为当前当前记录记录Requery方法方法重新重新执执行行对对象所基于的象所基于的查询查询,来更新,来更新Recordset对对象中的数据象中的数据Update方法方法保存保存对对Recordset对对象的当前象的当前记录记录所做的所有更改所做的所有更改n打开记录集对象打开记录集对象实际上记录集返回的是一个从数据实际上记录集返回的是一个从数据库取回的查询结果集库取回的查询结果集.因此他有三种打开因此他有三种打开方法方法:一种使用记录集的一种使用记录集的Open方
36、法方法,另一种是用另一种是用Connection对象的对象的Execute方法方法.第三种是使用第三种是使用Command对象的对象的Execute方法执方法执行行CommandText属性中设置的属性中设置的SQL命令命令,返回返回查询记录集查询记录集.n1.记录集的记录集的Open方法方法语法语法:Recordset.Open Source,ActiveConnection,CursorType,LockType,Options其中:其中:Recordset为所定义的记录集对象的实例为所定义的记录集对象的实例.Source可选项可选项,指明了所打开的记录源信息指明了所打开的记录源信息.可以
37、是合可以是合法的命令法的命令,对象变量名对象变量名,SQL语句语句,表名表名,存储过程调用存储过程调用,或保存或保存记录集的文件名记录集的文件名.ActiveConnection可选项可选项,合法的已打开的合法的已打开的Connection对象的变量名对象的变量名,或者是包含或者是包含ConnectionString参数的字符串参数的字符串.CursorType可选项可选项,确定打开记录集对象使用的指针确定打开记录集对象使用的指针类型类型.LockType可选项可选项 确定打开记录集对象使用的锁定类确定打开记录集对象使用的锁定类型型.使用使用recordset 的的 open方法返回记录集:方
38、法返回记录集:dimcnasnewadodb.connectiondimrsasnewadodb.recordsetDimcnstring$,strsql$Cnstring=“driver=SQLServer;server=127.0.0.1;database=student;uid=sa;pwd=”Strsql=“select*from基本情况where班级=”05网一“or班级=”05网二“”Cn.opencnstringRs.openstrsql,cn,1,1记录集类型,1是键集游标记录集锁类型1:只读3:开放式可以updatenCursorType(游标类型)有四种(游标类型)有四种:
39、程序中常用第二种AdOpenKeyset,nAdOpenForwardOnly=0只能用MoveNext读取,并且打开的同时建立的数据库的备份,不能即时体现数据库记录状态,比如记录的编辑和增删.AdOpenKeyset=1可上下滚动的游标,给打开的记录创建了一个关键字列表,类似记录集的描述,访问的时候才去取得数据值,就是说可以即时看到修改信息,但是不能即时得到数据是否删除的信息,因为这个关键字列表是事先初始化好的.AdOpenDynamic=2完全可滚动,可得到数据的最新状态,执行效率也会有所降低.AdOpenStatic=3完全可滚动,但是和adOpenKeyset类似,它先将数据库备份文件
40、之后进行操作.可以断开数据库连接后继续使用.nADO锁的类型有四种锁的类型有四种:nAdLockReadOnly=1只读锁只读锁,不能操作记录不能操作记录AdLockPessimistic=2悲观锁悲观锁,操作者打开之后立即上操作者打开之后立即上锁锁,直到修改完成或者放弃修改为止直到修改完成或者放弃修改为止,此时其他人无法编辑此时其他人无法编辑.AdLockOptimistic=3乐观锁乐观锁,当记录将要被更新的时候当记录将要被更新的时候才开始上锁才开始上锁,但是不能保证在提交修改之前是否有人改动但是不能保证在提交修改之前是否有人改动过过.AdLockBatchOptimistic=4批量乐观
41、锁批量乐观锁,SQL server中中要使用它要使用它,必须打开一个可上下滚动的游标必须打开一个可上下滚动的游标,如如adOpenKeyset,adOpenStatic.n2.Connection对象的对象的Execute方法方法语法语法:nSet recordset=Connection.Execute(CommandText,RecordsAffected,Options)参数说明参数说明:CommandText 一个字符串一个字符串,返回要执行的返回要执行的SQL命命令令,表名表名,存储过程或指定文本存储过程或指定文本.RecordsAffected 可选项可选项,Long类型的值类型的
42、值,返回操返回操作影响的记录数作影响的记录数.Options 可选项可选项,Long类型值类型值,指明如何处理指明如何处理CommandText参数参数.使用使用connection 的的 execute方法返回记录集:方法返回记录集:dim cn as new adodb.connectiondim rs as new adodb.recordsetDim cnstring$,strsql$Cnstring=“driver=SQL Server;server=127.0.0.1;database=student;uid=sa;pwd=”Strsql=“select*from 基本情况基本情况
43、 where 班级班级=05网一网一 or 班级班级=05网二网二”Cn.open cnstringSet Rs=cn.execute(strsql)3.使用使用Command对象的对象的Execute方法执行方法执行CommandText属性中设置的属性中设置的SQL命令命令,返回查询记录返回查询记录集集.Command对象的对象的Execute方法的语法如下方法的语法如下:Command.Execute RecordsAffected,Parameters,Options 不返回记录集不返回记录集或者或者 Set Rscordset=command.Execute(RecordsAffec
44、ted,Parameters,Options)返回记录集返回记录集CommandText的语法为的语法为:Command.CommandText=stringvariable其中其中:stringvariable为字符串变量为字符串变量,包含包含SQL语句语句,表名或存储过程表名或存储过程.使用使用command对象对象 的的 execute方法返回记录集:方法返回记录集:dim cn as new adodb.connectiondim rs as new adodb.recordsetDim cmd as new mandDim cnstring$,strsql$Cnstring=“dri
45、ver=SQL Server;server=127.0.0.1;database=student;uid=sa;pwd=”Strsql=“select*from 基本情况基本情况 where 班级班级=05网一网一 or 班级班级=05网二网二”Cn.open cnstringcmd.activeconnection=mandtext=strsqlSet Rs=cmd.execute使用记录集使用记录集reordsetreordset(a)添加新的记录添加新的记录:在在ADO中添加新的记录用的方法为中添加新的记录用的方法为:AddNew 它的它的语法为语法为:Recordset.AddNew
46、FieldList,ValuesRecordset为记录集对象实例为记录集对象实例FieldList为一个字段名为一个字段名,或者是一个字段数组或者是一个字段数组.Values为给要加信息的字段赋的值为给要加信息的字段赋的值,如果如果FiledList为一个字段名为一个字段名,那么那么Values应为一个单个的数值应为一个单个的数值,假如假如FiledList为一个字段数组为一个字段数组,那么那么Values必须也为一个个必须也为一个个数、类型与数、类型与FieldList相同的数组相同的数组.用完用完AddNew方法为记录集添加新的记录后方法为记录集添加新的记录后,应使应使用用UpDate将
47、所添加的的数据存储在数据库中将所添加的的数据存储在数据库中.(b)删除记录删除记录在在ADO中删除记录集中的数据的方法为中删除记录集中的数据的方法为:Delete方法方法,这与这与DAO对象的方法相同对象的方法相同,但是在但是在ADO中它的能力增强了中它的能力增强了,可以删掉一组记录了可以删掉一组记录了.它的语法如下它的语法如下:Recordset.Delete AffectRecords其中的其中的,AffectRecords参数是确定参数是确定Delete方方法作用的方式的法作用的方式的,它的取值如下它的取值如下:adAffectCurrent 只删除当前的记录只删除当前的记录adAffe
48、ctGroup 删除符合删除符合Filter属性设置的那属性设置的那些记录些记录.为了一次能删除一组数据为了一次能删除一组数据,应设置应设置Filter属属性性.(c)查询记录查询记录在在ADO中查询的方法很灵活中查询的方法很灵活,有几种查询有几种查询的方法的方法.实际上记录集返回的是一个从数据库取实际上记录集返回的是一个从数据库取回的查询结果集回的查询结果集.因此有三种打开方法因此有三种打开方法:一种使用记录集的一种使用记录集的Open方法方法,另一种是用另一种是用Connection对象的对象的Execute方法方法.使用使用Command对象的对象的Execute方法执行方法执行Comm
49、andText属性中设置的属性中设置的SQL命令命令,返回查询记录集返回查询记录集.将记录集与数据绑定控件进行绑定,即可显示记录信息。将记录集与数据绑定控件进行绑定,即可显示记录信息。常见步骤:1.打开Connection对象nDim cn As ADODB.Connection声明声明ADODB.Connection对象变量对象变量Dim strcn As String声明存放连接串的字符串变量声明存放连接串的字符串变量Set cn=New ADODB.Connection实例化实例化Connection对象对象生成连接串(生成连接串(ConnectionString)strcn=drive
50、r=SQL Server;server=127.0.0.1;database=student;uid=sa;pwd=”调用调用Connection对象的方法对象的方法Open连接数据源连接数据源nCn.open strcn2.创建Command对象nDimcmdAsADODB.Command实例化Command对象nSetcmd=NewADODB.Command3.执行查询以以Command对象为例。对象为例。nDim rs As New ADODB.RecordsetSet cmd.ActiveConnection=cn绑定激活的绑定激活的Connection对对象实例象实例cmd.Comm