步骤 3:执行命令(ADO 教程)

您所在的步骤...

?连接数据源。

 

?可选择创建表示 SQL 查询命令的对象。

 

?可选择在 SQL 命令中将值指定为变量参数。

 

?执行命令。如果命令以行返回,将行存储在存储对象中。

 

?可选择对数据进行定位、检查、操作和编辑。

 

?适当情况下,可以使用存储对象中的变更对数据源进行更新。可选择在事务处理中嵌入更新数据。

 

?在使用事务之后,可以接受或拒绝在事务中所做的更改。结束事务。

讨论

返回 Recordset 的方法有三种:Connection.ExecuteCommand.Execute 以及 Recordset.Open。以下是它们的 Visual Basic 语法:

connection.Execute(CommandTextRecordsAffectedOptions)

command.Execute(RecordsAffectedParametersOptions)

recordset.Open SourceActiveConnectionCursorTypeLockTypeOptions

通过优化这些方法可发挥特定对象的优势。

必须在发出命令之前打开连接,每个发出命令的方法分别代表不同的连接:

?Connection.Execute 方法使用由 Connection 对象自身表现的连接。

 

?Command.Execute 方法使用在其 ActiveConnection 属性中设置的 Connection 对象。

 

?Recordset.Open 方法所指定的或者是连接字符串,或者是 Connection 对象操作数;否则使用在其 ActiveConnection 属性中设置的 Connection 对象。

另一个不同点是命令在三种方法中的指定方式:

?Connection.Execute 方法中,命令是字符串。

 

?Command.Execute 方法中,命令是不可见的,它在 Command.CommandText 属性中指定。另外,此命令可含有参数符号 ('?'),它可以由“参数”VARIANT 数组参数中的相应参数替代。

 

?Recordset.Open 方法中,命令是 Source 参数,它可以是字符串或 Command 对象。

每种方法可根据性能需要替换使用:

?Execute 方法针对(但不局限)于执行不返回数据的命令。

 

?两种 Execute 方法都可返回快速只读、仅向前 Recordset 对象。

 

?Command.Execute 方法允许使用可高效重复利用的参数化命令。

 

?另一方面,Open 方法允许指定 CursorType (用于访问数据的策略及对象)和 LockType (指定其他用户的 isolation 级别以及游标是否在 immediatebatch modes 中支持更新)。

 

?请深入了解这些选项,它们体现了很多 Recordset 的功能。

本教程使用动态游标对 Recordset 的所有变更进行批处理,为此请使用以下方法:

Recordset rs = New ADODB.Recordset

rs.Open cmd, conn, adOpenDymanic, adLockBatchOptimistic

下一步   步骤 4