在用ADO连接数据库时,我用ODBC数据源时连接我错,运行正常.但我用Jet连接时,补捉不到异常,但当我使用这个连接是出错.相关代码如下:
连接:
HRESULT hr;
try
{
hr=m_Connection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
hr=m_Connection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xu.mdb","","",adModeUnknown);
}
}
catch(_com_error m)
{
AfxMessageBox(m.ErrorMessage());
}
使用:
try
{
hr=m_Recordset.CreateInstance("ADODB.Recordset");
if(SUCCEEDED(hr))
{
hr= m_Recordset->Open("SELECT * FROM user",_variant_t((IDispatch*)m_Connection,true),adOpenStatic,adLockOptimistic,adCmdText);
}
//m_Recordset = m_Connection->Execute("select * from user",&RecordsAffected,adCmdText);
}
catch(_com_error m)
{
MessageBox("打开User表出错","错误");
MessageBox(m.ErrorMessage());
return ;
}
捕捉的错误消息是为:IDispatch #3092
请问是什么问题?
连接:
HRESULT hr;
try
{
hr=m_Connection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr))
{
hr=m_Connection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xu.mdb","","",adModeUnknown);
}
}
catch(_com_error m)
{
AfxMessageBox(m.ErrorMessage());
}
使用:
try
{
hr=m_Recordset.CreateInstance("ADODB.Recordset");
if(SUCCEEDED(hr))
{
hr= m_Recordset->Open("SELECT * FROM user",_variant_t((IDispatch*)m_Connection,true),adOpenStatic,adLockOptimistic,adCmdText);
}
//m_Recordset = m_Connection->Execute("select * from user",&RecordsAffected,adCmdText);
}
catch(_com_error m)
{
MessageBox("打开User表出错","错误");
MessageBox(m.ErrorMessage());
return ;
}
捕捉的错误消息是为:IDispatch #3092
请问是什么问题?
解决方案 »
- 散粉,祝各位顺利买到返程票。
- Help!MFC 神奇问题
- 怎样在VC里面控制 Excel!
- 有人知道__cdecl的中文名是什么吗?
- 如何进入MFC库看原代码?
- VC++6.0 中使用ODBC 连接 Access数据库 后对数据的操作
- 为什么——再问:为什么我放在CDialogBar中的Button总是Disabled的?没人遇到过同样问题吗?
- 【新手求助】MFC中的画图问题~~
- 菜鸟求救!List Control的图片
- 安卓开发用到Socket多线程通信,当多个客户端几乎同时向服务器发送消息,服务器都能接收到吗
- 新手求救1->头都大了
- 为何我的程序不能通过串口控制JVC BR-S622DXE 录像机?有谁能告诉我?
m_Connection->Open(strsql,"","",adModeUnknown);strSql.Format("SELECT * FROM user");
BSTR bstrSQL = strSql.AllocSysString();
hr= m_Recordset->Open(bstrSQL,_variant_t((IDispatch*)m_Connection),adOpenStatic,adLockOptimistic,adCmdText);试试
hr = m_Rec->Open(CComVariant(wCmdString),CComVariant(m_Conn),adOpenKeyset,adLockOptimistic,adCmdText);