转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
ADO三大对象的属性、方法、事件及常数[ZT]         ★★★★

ADO三大对象的属性、方法、事件及常数[ZT]

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2352 更新时间:2009/4/23 10:44:56

ADO三大对象的属性、方法、事件及常数(一)
Connection对象 

属性 

属性名称 数据类型和用途 
Attributes 可读写Long类型,通过两个常数之和指定是否使用保留事务(retainning transactions)。常数adXactCommitRetaining表示调用CommitTrans方法时启动一个新事务;常数adXactAbortRetaning表示调用RollbackTrans方法时启动一个新事务。默认值为0,表示不使用保留事务。 
CommandTimeout 可读写Long类型,指定中止某个相关Command对象的Execute调用之前必须等待的时间。默认值为30秒。 
ConnectionString 可读写String类型,提供数据提供者或服务提供者打开到数据源的连接所需要的特定信息 
ConnectionTimeout 可读写Long类型,指定中止一个失败的Connection.Open方法调用之前必须等待的时间,默认值为15秒。 
CursorLocation 可读写Long类型,确定是使用客户端(adUseClient)游标引擎,还是使用服务器端(adUseServer)游标引擎。默认值是adUseServer。 
DefaultDatabase 可读写String类型,如果ConnectString中未指定数据库名称,就使用这里所指定的名称,对SQL Server而言,其值通常是pubs 
IsolationLevel 可读写Long类型,指定和其他并发事务交互时的行为或事务。见IsolationLevel常数 
Mode Long类型,指定对Connection的读写权限。见Mode常数 
Provider 可读写String类型,如果ConnectionString中未指定OLE DB数据或服务提供者的名称,就使用这时指定的名称。默认值是MSDASQL(Microsoft OLE DB Provider for ODBC)。 
State 可读写Long类型,指定连接是处于打开状态,还是处于关闭状态或中间状态。见State常数 
Version 只读String类型,返回ADO版本号。 

注意:上面所列出的大多数可读写的属性,只有当连接处于关闭状态时才是可写的。 

只有当用户为Connection对象用BeginTrans...CommitTrans...RollbackTrans方法定义了不遗余力,事务隔离程度的指定才真正有效。如果有多个数据库用户同时执行事务,那么应用程序中必须指定如何响应运行中的其他事务。 

方法 

方法 用途 
BeginTrans 初始化一个事务;其后必须有CommitTrans和/或RollbackTrans相呼应 
Close 关闭连接 
CommitTrans 提交一个事务,以完成对数据源的永久改变(要求使用之前必须调用了BeginTrans方法) 
Execute 人SELECT SQL语句返回一个forward-only Recordset对象,也用来执行那些不返回Recordset语句,如INSERT、UPDATE、DELETE查询或DDL语句 
Open 用连接字符串来打开一个连接 
OpenSchema 返回一个Recordset对象以提供数据源的结构信息(metadata) 
RollbackTrans 取消一个事务,恢复对数据源做的临时性改变(要求使用之前必须调用了BeginTrans方法) 

注:只有Execute、Open和OpenSchema三个方法才能接受变元参数。Execute的语法为: 
cnnName.Execute strCommand,[lngRowsAffected[,lngOptions]] 
strCommand的值可以是SQL语句、表名、存储过程名,也可以是数据提供者所能接受的任意字符串。为了提高性能,最好为lngOptions参数指定合适的值(详见lngOptions参数用到的常数),以使提供者解释语句时不用再去判定其类型。可选参数lngRowsAffected将返回INSERT、UPDATE或DELETE查询执行以后所影响的数目。这些查询会返回一个关闭的Recordset对象。一个SELECT查询将返回lngRowsAffected值为0并且返回带有一行或多行内容的打开的forward-only Recordset。 

事件 

事件名称 触发时机 
BeginTransComplete BeginTrans方法执行以后。 
Private Sub cnnName_BeginTransComplet(ByVal TransactionLevel As Long,ByVal pError As ADODB.Error,adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection) 
CommitTransComplete CommitTrans方法执行以后 
Private Sub Connection1_CommitTransComplete(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection) 
ConnectComplete 成功建立到数据源的Connection之后 
Private Sub Connection1_ConnectComplete(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection) 
Disconnect Connection关闭之后 
Private Sub Connection1_Disconnect(adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection) 
ExecuteComplete 完成Connection.Execute或Command.Execute之时 
Private Sub Connection1_ExecuteComplete(ByVal RecordsAffected As Long, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection) 
InfoMessage 一个Error对象被添加到ADODB.Connectio.Error集合之时 
Private Sub Connection1_InfoMessage(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection) 
RollbackTransComplete RollbackTrans方法执行之后 
Private Sub Connection1_RollbackTransComplete(ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection) 
WillConnect 即将调用Connection.Open方法之时 
Private Sub Connection1_WillConnect(ConnectionString As String, UserID As String, Password As String, Options As Long, adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection) 
WillExecute 即将调用Connection.Execute或Command.Execute方法之时 
Private Sub Connection1_WillExecute(Source As String, CursorType As ADODB.CursorTypeEnum, LockType As ADODB.LockTypeEnum, Options As Long, adStatus As ADODB.EventStatusEnum, ByVal pCommand As ADODB.Command, ByVal pRecordset As ADODB.Recordset, ByVal pConnection As ADODB.Connection) 

注:其中的adStatus参数所用到的常数的名称和含义详见adStatus所用的常数 

常数 

IsolationLevel常数 

常数 含义 
adXactCursorStability 只允许读其他事务已提交的改变(默认值) 
adXactBrowse 允许读其他事务未提交的改变 
adXactChaos 本事务不会覆盖其他位于更高隔离程度的事务所做的改变 
adXactIsolated 所有事务相互独立 
adXactReadCommitted 等同于adXactCursorStability 
adXactReadUncommitted 等同于adXactBrowse 
adXactRepeatableRead 禁止读其他事务的改变 
adXactSerializable 等同于adXactIsolated 
adXactUnspecified 不能确定提供者的事务隔离程度 

Mode常数 

常数 含义 
adModeUnknown 未指定数据源的连接许可权(默认值) 
adModeRead 连接是只读的 
adModeReadWrite 连接是可读写的 
adModeShareDenyNone 不拒绝其他用户的读写访问(Jet OLE DB Provider的默认值) 
adModeShareDenyRead 拒绝其他用户打开到数据源的读连接 
adModeShareDenyWrite 拒绝其他用户打开到数据源的写连接 
adModeShareExclusive 以独占方式打开数据源 
adModeWrite 连接是只写的 

State常数 

常数 含义 
adStateClosed Connection(或其他对象)是关闭的(默认值) 
adStateConnecting 正在连接数据源的状态 
adStateExecuting Connection或Command对象的Execute方法已被调用 
adStateFetching 返回行(row)到Recordset对象 
adStateOpen Connection(或其他对象)是打开的(活动的) 

Execute方法中lngOption参数用到的常数 

Command类型常数 含义 
adCmdUnknown Command类型未定(默认值),由数据提供者去判别Command语法 
adCmdFile Command是和对象类型相应的文件名称 
adCmdStoredProc Command是存储过程名称 
adCmdTable Command是能产生内部SELECT * FROM TableName查询的表名称 
adCmdTableDirect Command是能直接从表中获取行内容的表名称 
adCmdText Command是一条SQL语句 

ADODB事件处理子过程参数adStatus所用的常数 

常数 含义 
adStatusCancel 操作被用户取消 
adStatusCnatDeny 操作不能拒绝其他用户对数据源的访问 
adStatusErrorsOccurred 操作导致错误并已送到Errors集合中 
adStatusOK 操作成功 
adStatusUnWantedEvent 操作过程中一个未预料到的事件被激活 



ADO三大对象的属性、方法、事件及常数(二)
Command对象 

Command对象的主要目的是执行参数化的存储过程。其形式要么是临时准备(prepared),要么是持久的预编译(precompiled)过的SQL语句。如果想(存储)一个或多个查询以供在同一Connection上多次执行,Command对象也是很有用的。当想创建Recordset时,一种高效的方法是绕过Command对象而采用Recordset.Open方法。 

属性 

属性名称 数据类型和用途 
ActiveConnection 指针类型,指向Command所关联的Connection对象。对于现存的已打开连接,可使用Set cmmName.ActiveConnection=cnnName。另外,也可以不用相关Connection对象名称而使用有效的连接字符串去创建一个新的连接。默认值为Null。 
CommandText 可读写String类型。为ActiveConnection指定一条SQL语句、表名、存储过程名或提供者能接受的任意字符串。CommandType属性的值决定了CommandText属性值的格式。默认值为空字符串:"" 
CommandTimeout 可读写Long类型,指定中止一个Command.Execute调用之前必须等待的时间。这时的值优先于Connection.ComandTimeout中的设定值。默认值为30秒。 
CommandType 可读写Long类型,指定数据提供者该如何解释CommandText属性值。CommandType等效于Connection.Execute方法中的可选参数lngOption。详见CommandType所用到的常数。默认值为adCmdUnkown. 
Name 可读写String类型,指定Command的名称。 
Prepared 可读写Boolean类型,判断数据源是否把CommandText中的SQL语句编译为prepared statement(一种临时性存储过程)。prepared statement仅存活于Command的ActiveConnection生命周期中。许多客户/服务器RDBMS,包括SQL SERVER,都支持prepared statement。如果数据源不支持prepared statement,则把该属性设为True,将导致一个自陷错误。 
State 可读写Long类型,指定Commnad状态。见State常数。 

注意:最好每次都为CommandType指定的一个合适的常数值,否则会降低系统运行的效率。 

方法 

方法 用途 
Createparameter 在执行该方法之前,必须首先声明一个ADODB.Parameter对象。调用语法为: 
cmmName.CreateParameter [strName[,lngType[,lngDirection[,lngSize[,varvalue]]]]] 
Execute 调用语法同Connection.Execute大致相同。 

常数 

State常数 

常数 含义 
adStateClosed Connection(或其他对象)是关闭的(默认值) 
adStateConnecting 正在连接数据源的状态 
adStateExecuting Connection或Command对象的Execute方法已被调用 
adStateFetching 返回行(row)到Recordset对象 
adStateOpen Connection(或其他对象)是打开的(活动的) 

CommandType所用到的常数 

Command类型常数 含义 
adCmdUnknown Command类型未定(默认值),由数据提供者去判别Command语法 
adCmdFile Command是和对象类型相应的文件名称 
adCmdStoredProc Command是存储过程名称 
adCmdTable Command是能产生内部SELECT * FROM TableName查询的表名称 
adCmdTableDirect Command是能直接从表中获取行内容的表名称 
adCmdText Command是一条SQL语句 

ADO三大对象的属性、方法、事件及常数(三)
Recordset对象 

属性 

属性名称 数据类型和用途 
AbsolutePage 可读写Long类型,要么是设置或返回当前记录所处的页面序号,要么是一个PositionEnum常数,见AbsolutePage用到的常数。在获取或设置AbsolutePage的值之前,必须先设定PageSize的值。AbsolutePage是从1开始计数的。如果当前记录位于第一页时,AbsolutePage的返回值为1,对

[1] [2] [3]  下一页


[办公软件]概率值函数ZTEST在Excel中的使用说明及示例  [Web开发]ADO三大对象的属性、方法、事件及常数(三)
[Web开发]ADO三大对象的属性、方法、事件及常数(二)  [Web开发]ADO三大对象的属性、方法、事件及常数(一)
[Web开发]ADO三大对象的属性、方法、事件及常数  [MySql]linuxredhat9:pptpdvpn服务器的配置及说明 [ZT]作…
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台