C++ SQL数据读取
//函数原型:_RecordsetPtr& CLinkSQL::GetRecordSet(_bstr_t bstrSQL)
{ try
{ // 连接数据库,如果Connection对象为空,则重新连接数据库
if(m_pConnection==NULL)
OnInit();
// 创建记录集对象
m_pRecordset.CreateInstance(__uuidof(Recordset));
//m_pRecordset->CursorLocation = adUseClient;
// 取得表中的记录
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}// 捕捉异常
catch(_com_error e)
{ // 显示错误信息
MessageBox(NULL ,_T("读取异常!"),_T("读取"),0);
} // 返回记录集
return m_pRecordset;
}
//调用:
LPSTR strWord="";
_bstr_t vSQL="SELECT * FROM word source ";
m_pRecordset=linksql.GetRecordSet(vSQL);
while(!m_pRecordset->adoEOF)
{
_variant_t vWord=m_pRecordset->GetCollect("Word");
if(vWord.vt!=VT_NULL)
strWord=(LPSTR)_bstr_t(vWord);
}
return strWord;
}
//错误:
.exe 中的 0x7c812afb 处有未经处理的异常: Microsoft C++ 异常: 内存位置 0x0012fa0c 处的 _com_error。
调试没错、执行会异常无法正确读取。。。
求大神指教。。。