Command 对象定义了将对
数据源执行的指定命令。
说明
使用 Command 对象查询数据库并返回 Recordset 对象中的记录,以便执行大量操作或处理
数据库结构。取决于提供者的功能,某些 Command 集合、方法或属性被引用时可能会产生错误。
可以使用 Command 对象的集合、方法、属性进行下列操作:
· 使用 CommandText 属性定义命令(例如,SQL 语句)的可执行文本。
· 通过 Parameter 对象和 Parameters 集合定义
参数化查询或
存储过程参数。
· 可使用 Execute 方法执行命令并在适当的时候返回 Recordset 对象。
· 执行前应使用 CommandType 属性指定命令类型以优化性能。
· 使用 Prepared 属性决定提供者是否在执行前保存准备好(或编译好)的命令版本。
· 使用 CommandTimeout 属性设置提供者等待命令执行的秒数。
· 通过设置 ActiveConnection 属性使打开的连接与 Command 对象关联。
· 设置 Name 属性将 Command 标识为与 Connection 对象关联的方法。
· 将 Command 对象传送给 Recordset 的 Source 属性以便获取数据。
注意 如果不想使用 Command 对象执行查询,请将查询字符串传送给 Connection 对象的 Execute 方法或 Recordset 对象的 Open 方法。但是,当需要使命令文本具有持久性并重新执行它,或使用查询参数时,则必须使用 Command 对象。
要独立于先前已定义的 Connection 对象创建 Command 对象,请将它的 ActiveConnection 属性设置为有效的连接字符串。ADO 仍将创建 Connection 对象,但它不会将该对象赋给对象
变量。但是,如果正在将多个 Command 对象与同一个连接关联,则必须显式创建并打开 Connection 对象,这样即可将 Connection 对象赋给对象
变量。如果没有将 Command 对象的 ActiveConnection 属性设置为该对象
变量,则即使使用相同的连接字符串,ADO 也将为每个 Command 对象创建新的 Connection 对象。
要执行 Command,只需通过它所关联的 Connection 对象的 Name 属性,将其简单调用即可。必须将 Command 的 ActiveConnection 属性设置为 Connection 对象。如果 Command 带有参数,则将这些参数的值作为参数传送给方法。
如果在相同连接上执行两个或多个 Command 对象,并且某个 Command 对象是带输出参数的
存储过程,这时会发生错误。要执行各个 Command 对象,请使用独立的连接或将所有其他 Command 对象的连接断开
数据库
根据所用的.NET数据提供程序的不同,Command对象的=也分成四种,分别是SqlCommand、OleDbCommand、OdbcCommand和OracleCommand,SQL数据程序对应的是SqlCommand对象,Command对象的主要属性和方法如表所示: