_CommandPtr 执行Execute 返回结果集错误,谁能找到问题所在?
long CADOAccess::ExecuteScalar(LPCTSTR strSQL
, CString& strResult
, CommandTypeEnum enumCmdType
, int iParaNum
, _PARAMETER_INFO paraInfo[])
{
_ParameterPtr pPara;
_variant_t varResult;
if (m_pCommand == NULL)
{
m_pCommand.CreateInstance("ADODB.Command");
}
m_pCommand->CommandText = strSQL;
m_pCommand->ActiveConnection = m_pConnection;
m_pCommand->CommandType = enumCmdType;
for (int i = 0; i < iParaNum; i++)
{
pPara = m_pCommand->CreateParameter(paraInfo[i].strParaName
, paraInfo[i].enumDataType, paraInfo[i].enumParaDirec
, paraInfo[i].lParaSize, paraInfo[i].strParaValue);
m_pCommand->Parameters->Append((IDispatch*)pPara);
}
m_pRecordset = m_pCommand->Execute(NULL, NULL, enumCmdType);
varResult = m_pRecordset->Collect[0];
if (varResult.vt == VT_NULL || varResult.vt == VT_EMPTY)
{
strResult = "";
}
else
{
strResult = varResult;
}
CloseRecordset();
return m_pRecordset->RecordCount;
}
m_pRecordset->RecordCount始终为-1
并且在varResult = m_pRecordset->Collect[0];处报错....