ADO命令对象
ADO命令对象(Command)用于执行传递给数据源的命令。
1.ADO命令对象操作
使用ADO命令对象的集合、方法和属性可执行下列操作:
使用CommandText属性定义命令的可执行文本。
通过参数对象和Parameters集合定义参数化查询或存储过程参数。
可使用Execute方法执行命令并在适当的时候返回Recordset对象。
执行前应使用CommandType属性指定命令类型以优化性能。
使用Prepared属性决定提供者是否在执行前保存编译好的命令版本。
使用CommandTimeout属性设置提供者等待命令执行的秒数。
通过设置ActiveConnection属性使打开的连接与命令对象关联。
设置Name属性将命令标识为与连接对象关联的方法。
将命令对象传送给记录集的Source属性以便获取数据。
2.ADO命令对象属性
ADO命令对象的属性如下:
ActiveConnection:可确定在其上将执行指定命令对象或打开指定记录的连接对象。
CommandText:包含要发送给提供者的命令的文本。
CommandTimeout:表示在终止尝试和产生错误之前执行命令期间需等待的时间。
CommandType:表示命令对象的类型,可选值如下:
adCmdText:文本命令。
adCmdTable:数据表名。
adCmdStoredProc:存储过程。
adCmdUnknown:未知的。
Prepared:可使提供者在首次执行命令 对象前保存CommandText属性中指定的已已编译的查询版本。
State:可以确定指定对象的当前状态。该属性是只读的,返回值如下:
adStateClosed:默认,指示对象是关闭的。
adStateOpen:指示对象是打开的。
3.ADO命令对象方法
ADO命令对象的方法如下:
Cancel:取消执行挂起的异步Execute或Open方法的调用。
CreateParameter:可用指定的名称、类型、方向、大小和值创建新的参数对象。
Execute:执行在CommandText属性中指定的查询、SQL语句或存储过程。
下面对ADO命令对象的常用方法进行详细介绍。
(1)CreateParameter方法
ParameterPtr CreateParameter(_bstr_t Name,enum DataTypeEnum Type,enum ParameterDirectionEnum Direction,long Size,const variant &Value);
CreateParameter语法中的参数说明如表1所示。
表1 CreateParameter语法中的参数说明
|
参数
|
描述
|
|
Name
|
指定参数对象的名称
|
|
Type
|
指定数据类型
|
|
Direction
|
指定参数的传递方向
|
|
Size
|
指定参数值的最大长度
|
|
Value
|
参数对象的值
|
(2)Execute方法
语法:
_RecordsetPtr Execute(VARIANT* RecordsAffected,VARIANT* Parameters,long Options);
参数说明:
RecordsAffected:返回受影响的记录数。
Parameters:指定使用的具体参数。
Options:指定命令类型。
提示:我们在设计系统登录功能时,通常使用命令对象来执行SQL语句,因为命令对象可以以参数的形式提交SQL语句,这样就阻止了SQL注入式攻击。