sql 语句在 sqlserver 里可以查到记录, 在程序里用ado却查不到记录。
    sqlstr.Format("select * from MyPic_Tb where patient_unique_id = '%s' ", currentpatuid);    m_pRecordset.CreateInstance(__uuidof(Recordset));
    //m_pRecordset->Open(_bstr_t(sqlstr), _variant_t((IDispatch*)m_pConnection), adOpenStatic,    adLockOptimistic, adCmdText);    m_pRecordset->Open(_variant_t(sqlstr), _variant_t((IDispatch *)m_pConnection), adOpenDynamic, adLockPessimistic, adCmdText);可以Open 返回S_OK,
找不到记录 while (!m_pRecordset->adoEOF)不知道拿出的问题,求帮助谢谢!求帮助!谢谢!SQL ServerMFCADO查询

解决方案 »

  1.   

    我的代码是这么写的
    piRecordset->Open(_bstr_t(sSql), _variant_t((IDispatch *)m_piConnection, true),adOpenStatic, adLockReadOnly, adCmdText);不知道行不行哦另外,没看错数据库吧,不会代码连的是另一个数据库吧?
      

  2.   

    try catch一下,看看错误原因
      

  3.   

    给个我项目里面的代码给你参考参考,我的工程代码是Ok的
    CString strSQL;
    strSQL ="select S_UserName from T_USER where S_UserName = '";
    strSQL += strUserName;
    strSQL += "'"; try
    {
    m_pRecordset.CreateInstance(__uuidof(Recordset));
    m_pRecordset->Open(&_variant_t(strSQL), m_pConnection.GetInterfacePtr(), adOpenDynamic, adLockOptimistic, adCmdText);
    }
    catch(_com_error err)
    {
    AfxMessageBox(err.Description());
    }
      

  4.   


    m_pConnection.CreateInstance("ADODB.Connection"); try
    {
    CString Connectionstr;
    Connectionstr = "Provider=SQLOLEDB.1;";
    Connectionstr += "Data Source=";
    Connectionstr += serverIP;
    Connectionstr += ";Initial Catalog=";
    Connectionstr += reportImg;
    Connectionstr += ";User ID=";
    Connectionstr += username;
    Connectionstr += ";PWD=";
    Connectionstr += reportimgpwd; m_pConnection->ConnectionTimeout = 8;
    CString strConnection = Connectionstr;  /*"Provider=SQLOLEDB.1;Data Source=127.0.0.1;Initial Catalog=MyDemo;User ID=sa;PWD=123"*/;    m_pConnection->Open((_bstr_t)strConnection, "", "", -1);
    }
    catch (_com_error e)//捕捉异常
    {
    AfxMessageBox("报告图像数据库连接失败!");
    return FALSE;
    }