ADO对象模型编程Word文档格式.docx
《ADO对象模型编程Word文档格式.docx》由会员分享,可在线阅读,更多相关《ADO对象模型编程Word文档格式.docx(37页珍藏版)》请在冰豆网上搜索。
指示在终止尝试和产生错误前建立连接期间所等待的时间。
CursorLocation
设置或返回游标服务的位置。
DefaultDatabase
指示Connection对象的默认数据库。
IsolationLevel
指示Connection对象的隔离级别。
Mode
设置或返回provider的访问权限。
Provider
设置或返回Connection对象提供者的名称。
State
返回一个描述连接是打开还是关闭的值。
Version
返回ADO的版本号。
(1)Attributes属性
设置或返回Long值。
Attributes属性为读/写,并且其值可以是一个或多个XactAttributeEnum值的和。
默认值为零(0)。
语法:
object.Attributes
XactAttributeEnum枚举类型:
常量
值
adXactAbortRetaining
262144
当调用RollbackTrans,自动启动一个新事务。
adXactCommitRetaining
131072
当调用CommitTrans,自动启动新事务。
(2)CommandTimeout属性
指示执行命令期间在终止尝试和产生错误之前需等待的时间。
object.CommandTimeout
设置和返回值:
设置或返回Long值,该值指示等待命令执行的秒数。
默认值为30。
说明:
用Connection对象或Command对象的CommandTimeout属性来允许因网络拥挤或服务器负载过重产生的延迟而取消Execute方法调用。
如果在CommandTimeout属性设置的时间间隔内未执行完命令,将产生错误,并且ADO取消该命令。
如果将属性设置为零,ADO将一直等待到命令执行完毕。
请确保正在为其编写代码的提供者和数据源支持CommandTimeout功能。
Connection对象的CommandTimeout设置对同一Connection中Command对象上的CommandTimeout设置没有影响,即Command对象的CommandTimeout属性不继承Connection对象的CommandTimeout值。
在Connection对象上,打开Connection后,CommandTimeout属性将保持为读/写。
(3)ConnectionString属性
ConnectionString属性可设置或返回用于建立到数据源的连接的信息。
注释:
不能同时使用Provider和FileName参数。
objconn.ConnectionString="
para1=value;
para2=value;
etc;
"
ConnectionString属性有5个参数:
参数
用于连接的提供者的名称。
FileName
提供者特有的文件(例如,持久保留的数据源对象)的名称,这些文件中包含预置的连接信息。
RemoteProvider
当打开客户端连接时使用的提供者的名称。
(仅限于远程数据服务。
RemoteServer
当打开客户端连接时使用的服务器的路径名称。
url
标识资源(比如文件或目录)的绝对URL。
(4)ConnectionTimeout属性
设置或返回Long值,ConnectionTimeout属性可设置或返回在终止尝试和产生错误之前打开连接需要等待的秒数。
默认是15秒。
objconn.ConnectionTimeout
如果由于网络拥挤或服务器负载过重引起的延迟而有必要取消连接尝试,请使用Connection对象的ConnectionTimeout属性。
如果在ConnectionTimeout属性设置的时间内未打开连接,将产生错误,并且ADO取消该尝试。
如果将该属性设置为0,ADO将一直等待到连接打开。
请确保正在为其编写代码的提供者支持ConnectionTimeout功能。
ConnectionTimeout属性在连接关闭时为读/写,在连接打开时为只读。
(5)CursorLocation属性
CursorLocation属性可设置或返回一个long值,该值指示游标服务的位置。
可被设置为CursorLocationEnum值之一。
默认值是AdUseServer。
游标用于:
●控制记录定位
●控制其他用户对数据库所作的更改的可视性
●控制数据可更新性指示游标服务的位置。
CursorLocationEnum枚举类型:
adUseNone
1
不使用游标服务。
(此常量已作废并且只是为了向后兼容才出现。
adUseServer
2
默认值。
使用数据提供者或驱动程序提供的游标。
这些游标有时很灵活,可以额外感知其他人对数据源所做的更改。
但是,MicrosoftCursorServiceforOLEDB的某些功能(例如断开Recordset对象)不能用服务器端游标模拟,这些功能在此设置中将不可用。
adUseClient
3
使用本地游标库提供的客户端的游标。
本地游标服务通常允许执行驱动程序提供的游标所不允许的许多功能,因此使用此设置可以充分利用即将启用的功能。
为进行向后兼容,亦支持同义字adUseClientBatch。
此属性允许在可以访问提供者的多个游标库之间选择。
通常情况下,可以选择客户端游标库中的游标或者选择位于服务器上的游标。
只有在设置了属性后,此属性设置才会影响所建立的连接。
更改CursorLocation属性不会影响现有的连接。
Recordset对象将从与它们相关联的连接上自动继承此设置。
此属性在Connection或已关闭的Recordset上为读/写,在打开的Recordset上为只读。
objConnection.CursorLocation
objRecordset.CursorLocation
(6)DefaultDatabase属性
设置或返回String值,该值是特定Connection对象上的默认数据库的名称。
用DefaultDatabase属性设置或返回特定Connection对象上的默认数据库的名称。
如果有默认数据库,SQL字符串将使用无限制的语法访问该数据库中的对象。
若要访问未在DefaultDatabase属性中指定的数据库中的对象,对象名称必须与所需数据库的名称相匹配。
连接时,提供者将把默认数据库信息写入DefaultDatabase属性。
某些提供者对每个连接只允许一个数据库,在此情况下无法更改DefaultDatabase属性。
某些数据源和提供者可能不支持此项功能,并可能返回错误或空字符串。
(7)IsolationLevel属性
设置或返回IsolationLevelEnum值。
默认值为adXactChaos。
IsolationLevelEnum枚举类型:
adXactUnspecified
-1
无法使用指定的隔离级别,因为提供者正在使用不同的隔离级别,而且该级别无法被确定。
adXactChaos
16
无法覆盖更高级别的事务。
adXactBrowse
256
可以从一个事务中查看其他事务中未提交的更改。
adXactReadUncommitted
与adXactBrowse相同。
adXactCursorStability
4096
只能从一个事务中查看其他事务中提交的更改。
adXactReadCommitted
与adXactCursorStability相同。
adXactRepeatableRead
65536
不能从一个事务中查看其他事务中所作的修改,但是重新查询可以检索新的Recordset对象。
adXactIsolated
1048576
该事务与其他事务隔离执行。
adXactSerializable
与adXactIsolated相同。
用IsolationLevel属性设置Connection对象的隔离级别。
该设置直到下次调用BeginTrans方法时才生效。
如果请求的隔离级别不可用,提供者可能返回下一个更高的隔离级别。
IsolationLevel属性为读/写。
(8)Mode属性
Mode属性可设置或返回一个ConnectModeEnum值,该值指示在Connection,Record或Stream对象中修改数据的权限。
在对象关闭时,此属性为读写,在对象打开时为只读。
ConnectModeEnum枚举类型:
adModeUnknown
权限尚未设置或不能确定权限。
adModeRead
只读权限。
adModeWrite
只写权限。
adModeReadWrite
读/写权限。
adModeShareDenyRead
4
禁止其他人以读权限打开连接。
adModeShareDenyWrite
8
禁止其他人以写权限打开连接。
adModeShareExclusive
12
禁止其他人打开连接。
adModeShareDenyNone
允许其他人以任何权限打开连接。
不拒绝其他人的读或写访问。
adModeRecursive
0x400000
与adModeShareDenyNone,adModeShareDenyWrite或adModeShareDenyRead一起使用,对当前Record的所有子记录设置权限。
Connection对象-默认是adModeUnknown
Record对象-默认是adModeRead
Stream对象-默认是adModeRead或adModeUnknown
该属性只能在Connection对象关闭时设置。
(9)Provider属性
指示Connection对象的提供者的名称。
设置或返回String值,指示提供者的名称。
用Provider属性设置或返回连接的提供者名称。
也可用ConnectionString属性的内容或Open方法的ConnectionString参数来设置此属性。
但是,当调用Open方法时,如果在多个地方指定提供者,将可能导致无法预测的结果。
如果未指定提供者,该属性将默认使用MSDASQL(MicrosoftOLEDBProviderforODBC)。
Provider属性在连接关闭时为读/写,在连接打开时为只读。
只有当打开Connection对象或访问Connection对象的Properties集合时,设置才生效。
如果设置无效,则将产生错误。
Provider代码:
Provider代码
ADSDSOObject
ActiveDirectoryServices
Microsoft.Jet.OLEDB.4.0
MicrosoftJetdatabases
MSDAIPP.DSO.1
MicrosoftInternetPublishing
MSDAORA
Oracledatabases
MSDAOSP
Simpletextfiles
MSDASQL
MicrosoftOLEDBproviderforODBC
MSDataShape
MicrosoftDataShape
MSPersist
Locallysavedfiles
SQLOLEDB
MicrosoftSQLServer
(10)State属性
State属性可返回一个值,该值描述对象的当前状态是打开、关闭、正在连接、正在执行还是正在检索数据。
返回的是ObjectStateEnum值的Long值。
默认值为adStateClosed。
ObjectStateEnum枚举类型:
常数
adStateClosed
对象已关闭。
adStateOpen
对象已打开。
adStateConnecting
对象正在连接。
adStateExecuting
对象正在执行命令。
adStateFetching
正在检索对象的行。
此属性可用于Command,Connection,Record,Recordset以及Stream对象。
State属性可以是值的组合。
例如,如果正在执行某个语句,此属性将有一个adStateOpen和adStateExecuting的组合值。
State属性为只读。
object.State
(11)Version属性
指示ADO版本号。
version=objconn.Version
返回值:
返回String值,用于指示版本。
使用Version属性返回ADO的版本号。
1.1.2Connection对象的方法
方法
BeginTrans
开始一个新事务。
Cancel
取消一次执行。
Close
关闭一个连接。
CommitTrans
保存任何更改并结束当前事务。
Execute
执行查询、SQL语句、存储过程或provider具体文本。
Open
打开一个连接。
OpenSchema
从provider返回有关数据源的schema信息。
RollbackTrans
取消当前事务中所作的任何更改并结束事务。
(1)BeginTrans、CommitTrans、RollbackTrans方法
这些事务方法按如下方法管理Connection对象中的事务进程:
●BeginTrans—开始新事务。
●CommitTrans—保存更改并结束当前事务。
它也可能启动新事务。
●RollbackTrans—取消当前事务中所做的更改并结束事务。
语法:
level=object.BeginTrans()
object.BeginTrans
object.CommitTrans
object.RollbackTrans
返回值:
BeginTrans可以作为函数调用,用于返回指示事务嵌套层次的Long变量。
说明:
对于支持嵌套事务的提供者,在打开的事务中调用BeginTrans方法将启动新的嵌套事务。
返回值将指示嵌套层次:
返回值为“1”指示打开了顶层事务(即此事务未嵌套在其他事务中),返回值为“2”指示打开了第二层事务(嵌套在顶层事务中的事务),依此类推。
调用CommitTrans或RollbackTrans只影响最新打开的事务;
在处理任何更高层事务之前必须关闭或回卷当前事务。
如果想要以独立单元保存或取消对源数据所做的一系列更改,请对Connection对象使用这些方法。
例如,要进行转帐,从一个帐户中减去某个数额并将对等数额添加到另一个帐户中。
如果任何一个更新失败,都将导致帐户收支不平衡。
在打开的事务中进行这些更改可确保只能选择进行全部更改或不作任何更改。
(2)Cancel方法
Cancel方法可取消方法调用的执行。
Cancel方法可为不同的对象终止不同的任务。
下面的表格列出了当此方法被调用时被终止的任务:
对象
被终止的任务
Command
Execute。
在Cancel方法被调用之前,Execute方法的Options参数必须被设置为adAsyncExecute或者adAsyncFetch,否则会发生run-time错误。
Connection
Execute或Open。
在Cancel方法被调用之前,Open方法的Options参数必须被设置为adSyncConnect,Execute方法的Options参数必须被设置为adAsyncExecute或者adAsyncFetch,否则会发生run-time错误。
Record
CopyRecord,DeleteRecord,MoveRecord,或者Open。
Recordset
Stream
(3)Close方法
Close方法用于关闭Connection对象、Record对象、Recordset对象或者Stream对象,以释放系统资源。
关闭对象不会将其从内存中删除;
随后可以更改其属性设置并再次将其打开。
要从内存中彻底清除对象,请在关闭对象后将对象变量设置为Nothing(在VisualBasic中)。
object.Close
(4)Execute方法
Execute方法可执行指定查询、SQL语句、存储过程或提供者特有的文本。
如果CommandText参数指定按行返回的查询,那么执行产生的任何结果都将存储在新的Recordset对象中。
如果此命令不是以行返回的查询,提供者将返回关闭的Recordset对象。
返回的Recordset对象始终是只读的、仅向前的游标。
提示:
如果需要具有更多功能的Recordset对象,应首先创建Recordset对象,设置所需属性,然后使用Recordset对象的Open方法执行查询并返回所需的游标类型。
对于以行返回的命令字符串:
Setrecordset=connection.Execute(CommandText,RecordsAffected,Options)
对于不是以行返回的命令字符串:
connection.ExecuteCommandText,RecordsAffected,Options
commandtext
必需。
String值,包含要执行的SQL语句、存储过程、URL或提供者特有的文本。
此外,仅当提供者被SQL识别时才可使用表名称。
例如,如果使用“Customers”作为表名称,则ADO将自动预先根据标准SQLSelect语法构成“SELECT*FROMCustomers”,并将其作为T-SQL语句传递给提供者。
RecordsAffected
可选。
Long变量,提供者向其返回操作影响的记录数目。
options
Long值,指示提供者计算CommandText参数的方式。
该值可以是一个或多个CommandTypeEnum或ExecuteOptionEnum值的位掩码。
默认是adCmdUnspecified。
CommandTypeEnum枚举类型:
adCmdUnspecified
不指定命令类型的参数。
adCmdText
按命令或存储过程调用的文本定义计算CommandText。
adCmdTable
按表名计算CommandText,该表的列全部是由内部生成的SQL查询返回的。
adCmdStoredProc
按存储过程名计算CommandText。
adCmdUnknown
指示CommandText属性中命令的类型未知。
adCmdFile
按持久存储的Recordset的文件名计算CommandText。
仅与Recordset.Open或Requery使用。
adCmdTableDirect
512
按表名计算CommandText,该表的列被全部返回。
如需使用Seek方法,Recordset必须通过adCmdTable