Command对象
Command对象的主要目的是执行参数化的存储过程。其形式要么是临时准备(prepared),要么是持久的预编译(precompiled)过的SQL语句。如果想(存储)一个或多个查询以供在同一Connection上多次执行,Command对象也是很有用的。当想创建Recordset时,一种高效的方法是绕过Command对象而采用Recordset.Open方法。
属性
属性名称数据类型和用途
ActiveConnection指针类型,指向Command所关联的Connection对象。对于现存的已打开连接,可使用SetcmmName.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语句编译为preparedstatement(一种临时性存储过程)。preparedstatement仅存活于Command的ActiveConnection生命周期中。许多客户/服务器RDBMS,包括SQLSERVER,都支持preparedstatement。如果数据源不支持preparedstatement,则把该属性设为True,将导致一个自陷错误。
State可读写Long类型,指定Commnad状态。见State常数。
注意:最好每次都为CommandType指定的一个合适的常数值,否则会降低系统运行的效率。
方法
方法用途
Createparameter在执行该方法之前,必须首先声明一个ADODB.Parameter对象。调用语法为:
cmmName.CreateParameter[strName[,lngType[,lngDirection[,lngSize[,varValue]]]]]
Execute调用语法同Connection.Execute大致相同。
常数
State常数
常数含义
adStateClosedConnection(或其他对象)是关闭的(默认值)
adStateConnecting正在连接数据源的状态
adStateExecutingConnection或Command对象的Execute方法已被调用
adStateFetching返回行(row)到Recordset对象
adStateOpenConnection(或其他对象)是打开的(活动的)
CommandType所用到的常数
Command类型常数含义
adCmdUnknownCommand类型未定(默认值),由数据提供者去判别Command语法
adCmdFileCommand是和对象类型相应的文件名称
adCmdStoredProcCommand是存储过程名称
adCmdTableCommand是能产生内部SELECT*FROMTableName查询的表名称
adCmdTableDirectCommand是能直接从表中获取行内容的表名称
adCmdTextCommand是一条SQL语句->