C++操作ADO中关于Command执行结果返回的Recordset的疑问?!
如果Command执行的是具有返回数据条目的SQL语句。如:SELECT语句。那么Recordset比较好理解。
但是如果Command执行的是一个DELETE或是UPDATE语句或是其它的存储过程的话,那么返回的Recordset对象指针是什么呢?
如果不知道Command执行的是什么SQL语句的情况下如何判断呢?
比如下面的函数
_RecordsetPtr GetRecordset(_ConnectionPtr& pConn,_bstr_t str_sql)
{
HRESULT hr = S_OK;
_CommandPtr pCmd = NULL;
hr = pCmd.CreateInstance(__uuidof(Command));
if(hr != S_OK)
{
//记录集创建失败
//char* err_buf = "EE记录集创建失败";
//send(sock,err_buf,strlen(err_buf)+1,0);
return;
}
pCmd->ActiveConnection = pConn;
pCmd->CommandText = strsql;
return pCmd->Execute(NULL,NULL,adCmdUnknown);
}
如果strsql传的是一个SELECT语句。那么返回的Recordset对象指针自然好办。
如果strsql传的是一个UPDATE或是DELETE语句。那么此时返回的Recordset对象指针是什么呢?