_variant_t RecordsAffected;
CString szText;
int SelIndex=m_unmae.GetCurSel(); 
m_unmae.GetLBText(SelIndex,szText); 
m_pRecordset=m_pConnection->Execute("SELECT password FROM login WHERE ID=(_variant_t)szText",&RecordsAffected,adCmdText);
_variant_t vIndex=(long)0;
_variant_t vpassword=m_pRecordset->GetCollect(vIndex);
CString m_pword=(LPCTSTR)(_bstr_t)vpassword;
if(m_password==m_pword)
{
  AfxMessageBox("登陆成功!");

else
{
  AfxMessageBox("密码错误!");
  return; 

m_numae是Combox控件变量
运行时出现Runtime  Error!
哪位帮忙看下!万分感激!

解决方案 »

  1.   

    CString m_pword=(LPCTSTR)(_bstr_t)vpassword;
    改为CString m_pword=(char *)(_bstr_t)vpassword;试一下
      

  2.   

    m_pRecordset=m_pConnection->Execute("SELECT password FROM login WHERE ID=(_variant_t)szText",&RecordsAffected,adCmdText);
    这样打开记录集?
    可以换成这样试一下:
    CString SqlStr;
    SqlStr.format(_T("SELECT password FROM login WHERE ID=szText"));
    m_pRecordset->Open(_variant_t(SqlStr),_variant_t((IDispatch *)pMyConnect,true),adOpenStatic,adLockOptimistic,adCmdText);
    .....
    m_pRecordset->Close();
      

  3.   

    记录集我在其它函数里面已经打开。
    这里我要实现的是查询ID=szText(这样用不知道可以不可以?szText为CString 类型)
    的password值
      m_pRecordset=m_pConnection->Execute("SELECT password FROM login WHERE ID=(_variant_t)szText",&RecordsAffected,adCmdText);