m_pRecordset.CreateInstance("ADODB.Recordset");
    SQLstr.Format("select user_id,user_name from user_reg where user_id='%s' and user_pw='%s'",m_strUserName,m_pw)
    m_pRecordset->Open(AFX_DB_USE_DEFAULT_TYPE,SQLstr);
    总提示这
  m_pRecordset->Open(AFX_DB_USE_DEFAULT_TYPE,SQLstr);
   错误,卫生什么呢?
  ADO连接数据库的!

解决方案 »

  1.   

    _ConnectionPtr m_pConnection;
    AfxEnableControlContainer();AfxOleInit();m_pConnection.CreateInstance("ADODB.Connection");try
    {
    m_pConnection->ConnectionTimeout = 8;//连接SQL SERVER
    m_pConnection->Open("Provider=SQLOLEDB.1;Database=newjkyc;Data Source=192.168.8.33;","sa","123456",adModeUnknown);
    }
    catch(_com_error e)///捕捉异常
    {
    AfxMessageBox("数据库连接失败!");
    return ;

      

  2.   

    m_pRecordset->Open(SQLstr,_variant_t((IDispath*)m_pConnection,TRUE),...);
      

  3.   

    m_pRecordset->Open(SQLstr,(IDispatch*)m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);
    之类的
    ----------
    m_pRecordset->Open(AFX_DB_USE_DEFAULT_TYPE,SQLstr);
    这个用法没见过,编译能过吗?
      

  4.   

    编译不能过
      ADO操作数据库的时候
      m_pRecordset->Open
      open函数怎么写呢?
      

  5.   

    C:\Documents and Settings\Administrator\My Documents\QQProject\Code\QQClient\ConnectServerDlg.cpp(87) : error C2664: 'Open' : cannot convert parameter 1 from 'class CString' to 'const class _variant_t &'
            Reason: cannot convert from 'class CString' to 'const class _variant_t'   怎么修改之后出现这个错误呢?
      

  6.   

    m_pRecordset->Open(_bstr_t(SQLstr),(IDispatch*)m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText);
    写错了,不好意思,上面哪个试试。
      

  7.   

    谢谢,上面已经正确了
       但是在我下面做判断的时候:
      if(m_pRecordset->RecordCount==0)
    {
        AfxMessageBox("用户名或者密码错误!");
    m_pRecordset->Close();
        m_pRecordset = NULL;
         return ;
    }    为什么不正确呢?
      

  8.   

    m_pRecordset->RecordCount==0 //这个由于游标的关系,常常不正常。
    用这个 m_pRecordset->adoEOF