ADO对象之Command总结

来源:互联网 发布:动画大师for mac 编辑:程序博客网 时间:2024/05/28 16:25

Command对象定义了将对数据源执行的指定命令。该对象的常用属性和方法如下:

ActiveConnection属性:该属性指定Command对象所属的Connection对象。

CommandText属性:该属性包含发送给数据提供者的命令文本,根据DBMS的不同,数据提供者能够执行的命令格式也有所不同。该属性的值为包含数据提供者命令(可以是SQL,表的名字或存储过程名)的字符串。其中,SQL语句必须是提供者查询处理程序支持的特定语法或版本(例如,使用SQL Server时,该属性的字符串必须符合SQL Server的T-SQL语言语法)

CommandType属性:指示Command对象的属性,其值可以取CommandTypeEnum中的某个值,常用的值与Recordset对象的Open方法的Options参数取值类似。

Execute方法:执行CommandText属性中指定的查询,sql语句或存储过程。

使用Command对象的流程和记录集对象类似,首先声明_CommandPtr变量,实例化变量,设置对象的某些属性值,调用Execute方法执行命令

利用Command对象存储过程:

[cpp] view plain copy
  1. //存储过程名  
  2. _bstr_t storproc("procname");  
  3. _CommandPtr pCommand;  
  4. pCommand.CreateInstance(__uuidof(Command));  
  5. pCommand->ActiveConnection=m_pConnection;  
  6. //指定CommandTexe属性为存储过程名  
  7. pCommand->CommandText=storeproc;  
  8. //指定CommandType属性为存储过程类型  
  9. pCommand->CommandType=adCmdStoredProc;  
  10. //在给参数赋值前调用Refresh方法  
  11. pIDCommand->Parameters->Refresh();  
  12. //给存储过程的参数赋值  
  13. pIDCommand->Paramters->Item[_variant_t((long)1)]->Value=_variant_t((LPCTSTR)name);  
  14. //执行存储过程,返回_RecordsetPtr类型指针,因为在CommandText中指定了命令,在Execute方法中参数赋空值就可了  
  15. pRecordsetPrt=pCommand->Execute(NULL,NULL,adCmdStoreProc); 
0 0