try
{
_variant_t RecordsAffected;
m_pRecordset.CreateInstance("ADODB.Recordset");
AfxMessageBox("1");
m_pRecordset = m_pConnection->Execute("SELECT COUNT(*) FROM users",&RecordsAffected,adCmdText);
AfxMessageBox("2");
_variant_t vIndex = (long)0;
_variant_t vCount = m_pRecordset->GetCollect(vIndex);///取得第一个字段的值放入vCount变量
m_pRecordset->Close();///关闭记录集
CString message;
message.Format("共有%d条记录",vCount.lVal);
AfxMessageBox(message);///显示当前记录条数
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("连数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);
// AfxMessageBox(e.Description());
}执行后搞 连接数据库失败,错误信息:无效指针.在头文件中已经定义过了.
// 定义ADO连接、命令、记录集变量指针
_ConnectionPtr m_pConnection;
_CommandPtr m_pCommand;
_RecordsetPtr m_pRecordset;在其他地方使用OPEN时的操作就可以.到了m_pRecordset = m_pConnection->Execute("SELECT COUNT(*) FROM users",&RecordsAffected,adCmdText);就不行了