我是在网上模仿别人的代码的这里总是报错。好像是recordset.open 那的问题?
显示: Microsoft C++ 异常: 内存位置 0x0012f110 处的 _com_error。_variant_t vName,vAge;
CString strName,strAge;
try
{
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open("SELECT * FROM Database",_variant_t((IDispatch*)m_pConnection,true),
adOpenStatic,adLockOptimistic,adCmdText);int nItemNum=this->List.GetItemCount();
m_pRecordset->MoveFirst();while(!m_pRecordset->adoEOF)
{
vName = m_pRecordset->GetCollect("name");
vAge = m_pRecordset->GetCollect("age");
strName = (LPCSTR)_bstr_t(vName);
strAge = (LPCSTR)_bstr_t(vAge);
this->List.InsertItem(nItemNum,strName);
this->List.SetItemText(nItemNum,1,strAge);
m_pRecordset->MoveNext();
}
}
catch(_com_error e)
{
AfxMessageBox(L"读取数据库失败!");
}
显示: Microsoft C++ 异常: 内存位置 0x0012f110 处的 _com_error。_variant_t vName,vAge;
CString strName,strAge;
try
{
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open("SELECT * FROM Database",_variant_t((IDispatch*)m_pConnection,true),
adOpenStatic,adLockOptimistic,adCmdText);int nItemNum=this->List.GetItemCount();
m_pRecordset->MoveFirst();while(!m_pRecordset->adoEOF)
{
vName = m_pRecordset->GetCollect("name");
vAge = m_pRecordset->GetCollect("age");
strName = (LPCSTR)_bstr_t(vName);
strAge = (LPCSTR)_bstr_t(vAge);
this->List.InsertItem(nItemNum,strName);
this->List.SetItemText(nItemNum,1,strAge);
m_pRecordset->MoveNext();
}
}
catch(_com_error e)
{
AfxMessageBox(L"读取数据库失败!");
}
解决方案 »
- 多端口的IOCP模型如何构建?
- GetParent的问题
- 怎样取得汉字的轮廓,并显示
- 如何监听其他IP收到的数据包
- 局域网通讯和互联网通讯程序有什么区别?
- 讨论一下P2P文件共享软件的设计和技术实现.
- 为什么在我ATL工程里,对话框上只要一加上ListView,或TreeView,对话框就DoModal不出来了??
- 请问:如何调用资源光标?
- 为何会出现这错误,该如何该
- 有谁用过十碟装的《全新修正版VISUAL STUDIO 6.0》?有事请教
- 求教 视图窗口保存为bmp位图的代码,先谢了
- 能否帮我解释一下typedef void (CObject::* ptr_BOOL)(BOOL mData);
2、m_pRecordset.CreateInstance("ADODB.Recordset");
改为m_pRecordset.CreateInstance(__uuidof(Recordset));或者
m_pRecordset.CreateInstance("ADODB::Recordset");再试试
3、m_pRecordset->Open("SELECT * FROM Database", 。的第一个参数是_bstr_t型的,为了安全,最好转化一下m_pRecordset->Open(_bstr_t("SELECT * FROM Database"), ...
4、养成“有借有还的习惯”,用完了后记得关一下,m_pRecordset->Close();
5、一般都不用ADODB命名空间的,你可以import的时候附加一个no_usnamespace