现在有如下的一段程序(其中数据库名为userinfo,里面有一表为userphoto)
 
HRESULT hr;
try{
m_pConnection.CreateInstance("ADODB.Connection");
if(SUCCEEDED(hr)){
m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data    Source=userinfo.mdb","","",adModeUnknown);
}
}
catch(_com_error e){
AfxMessageBox("error1");
} try{
    m_pRecordset.CreateInstance("ADODB.Recordset");
HRESULT hr = m_pRecordset->Open("SELECT * FROM userphoto",_variant_t((IDispatch *)m_pConnection,true),adOpenDynamic,adLockPessimistic,adCmdText);
    if(!m_pRecordset->adoEOF)AfxMessageBox("ok");
}
catch(_com_error e){
CString errormessage;
errormessage.Format("failed\r\n Error message:% s",e.ErrorMessage());
AfxMessageBox(errormessage);
return FALSE;
}运行之后,m_pRecordset->Open 一句总是不能成功打开
高手帮忙看看是什么原因
重酬

解决方案 »

  1.   

    //HRESULT hr = m_pRecordset->Open
    //("SELECT * FROM userphoto",,true),adOpenDynamic,adLockPessimistic,adCmdText);_variant_t((IDispatch *)m_pConnection-->m_pConnection.GetInterfacePtr()
      

  2.   

    m_pRecordset.CreateInstance("ADODB.Recorset");
    HRESULT hr;
    hr=m_pRecordset->Open("SELECT * FROM userphoto",_variant_t((IDispatch *)theApp.m_pConnection,true),adOpenDynamic,adLockPessimistic,adCmdText);
         if(SUCCEEDED(hr))
     {
             //..................................................
    }