Connection对象的说明
Connection 对象 代表了打开的、与数据源的连接。
说明
Connection 对象 代表与数据源进行的唯一会话。如果是客户端/服务器数据库系统,该对象 可以等价于到服务器的实际网络连接。取决于提供者所支持的功能,Connection 对象 的某些集合、方法或属性有可能无效。
使用 Connection 对象 的集合、方法和属性可执行下列操作:
在打开连接前使用 ConnectionString 、ConnectionTimeout 和 Mode 属性对连接进行配置。
设置 CursorLocation 属性以便调用支持批更新的“客户端游标提供者”。
使用 DefaultDatabase 属性设置连接的默认数据库。
使用 IsolationLevel 属性为在连接上打开的事务设置隔离级别。
使用 Provider 属性指定 OLE DB 提供者。
使用 Open 方法建立到数据源的物理连接。使用 Close 方法将其切断。
使用 Execute 方法执行对连接的命令,并使用 CommandTimeout 属性对执行进行配置。
可使用 BeginTrans、CommitTrans 和 RollbackTrans 方法以及 Attributes 属性管理打开的连接上的事务(如果提供者支持则包括嵌套的事务)。
使用 Errors 集合检查数据源返回的错误。
通过 Version 属性读取所使用的 ADO 执行版本。
使用 OpenSchema 方法获取数据库纲要信息。
注意 如果不使用 Command 对象 执行查询,请将查询字符串传送给 Connection 对象 的 Execute 方法。但是,当需要使命令文本具有持久性并重新执行,或使用查询参数的时候,则必须使用 Command 对象 。
可以创建与先前所定义的任何其他对象 无关的 Connection 对象 。
注意 可以象执行 Connection 对象 的本地方法一样执行命令或存储过程。
如果要执行命令,可以使用 Command 对象 的 Name 属性给命令指定一个名称。将 Command 对象 的 ActiveConnection 属性设置为该连接。然后,象发出 Connection 对象 的方法一样发出使用命令名称的语句,后面可带任何参数(如果有返回行,则后面带 Recordset 对象 )。设置 Recordset 属性以便自定义所产生的记录集。例如:
Dim cnn As New ADODB .Connection
Dim cmd As New ADODB.Command
Dim rst As New ADODB .Recordset
...
cnn.Open "..."
cmd.Name = "yourCommandName"
cmd.ActiveConnection = cnn
...
'命令名称、任意参数、以及可选记录集。
cnn.yourCommandName "parameter", rst
要执行存储过程,可以如同发出 Connection 对象 的方法一样发出使用存储过程名称的语句,后面可带任何参数。ADO 将对参数类型进行“最佳判断”。例如:
Dim cnn As New ADODB .Connection
...
'存储过程名称及任意参数。
cnn.sp_yourStoredProcedureName "parameter" 以下为Execute的方法说明Execute 方法 (ADO Connection)
执行指定的查询、SQL 语句、存储过程或特定提供者的文本等内容。
语法
对于不按行返回的命令字符串:
connection .Execute CommandText , RecordsAffected , Options
对于按行返回的命令字符串:
Set recordset = connection .Execute (CommandText , RecordsAffected , Options )
返回值
返回 Recordset 对象引用。
参数
CommandText 字符串 ,包含要执行的 SQL 语句、表名、存储过程或特定提供者的文本。
RecordsAffected 可选,长整型 变量,提供者向其返回操作所影响的记录数目。
Options 可选,长整型 值,指示提供者应如何为 CommandText 参数赋值,可为下列值之一。
常量 说明 adCmdText 指示提供者应将 CommandText 赋值为命令的文本定义。 adCmdTable 指示 ADO 应生成 SQL 查询以便从 CommandText 命名的表中返回所有行。 adCmdTableDirect 指示提供者应从 CommandText 命名的表中返回所有行。 adCmdTable 指示提供者应将 CommandText 赋值为表名。 adCmdStoredProc 指示提供者应将 CommandText 赋值为存储过程。 adCmdUnknown 指示 CommandText 参数中的命令类型未知。 adExecuteAsync 指示命令应该异步执行。 adFetchAsync 指示 CacheSize 属性指定的初始数量之后的行应异步提取。
本列表中前 4 个常量的详细说明请参见 CommandType 属性。
说明
使用 Connection 对象的 Execute 方法,可执行任何在指定连接的 CommandText 参数中传送给方法的查询。如果 CommandText 参数指定按行返回的查询,执行产生的任何结果将存储在新的 Recordset 对象中。如果命令不是按行返回的查询,则提供者返回关闭的 Recordset 对象。
返回的 Recordset 对象始终为只读、仅向前的游标。如需要具有更多功能的 Recordset 对象,应首先用所需的属性设置创建 Recordset 对象,然后使用 Recordset 对象的 Open 方法执行查询并返回所需游标类型。
CommandText 参数的内容对提供者是特定的,并可以是标准的 SQL 语法或任何提供者支持的特殊命令格式。
该操作完成后将产生 ExecuteComplete 事件。