adoConn.OnInitADOConn();   //初始化连接
    condition.Format("帐号='%s'",User);
    strSQL="select 密码 from admininfo where "+condition;
    RecordsetPtr=adoConn.GetRecordSet((_bstr_t)strSQL);
    if(Pass==(LPCTSTR)(_bstr_t)RecordsetPtr->GetCollect("密码"))
    {
m_status=1;
return true;
    }
    else
    {
        AfxMessageBox("账号和密码不符!");
    }
    adoConn.ExitConnect();
这段代码执行的时候出现 "至少一个参数没有指定值" 的错误,但是表名 字段名都正确
而且我用 AfxMessageBox((LPCTSTR)(_bstr_t)RecordsetPtr->GetCollect("密码"))输出时还能输出正确的密码
请问这是为什么,该怎么解决 谢谢了

解决方案 »

  1.   

    断点跟踪一下~~~
    Pass==(LPCTSTR)(_bstr_t)RecordsetPtr->GetCollect("密码")
    Pass是什么类型数据?
    最后使用_variant_t,然后再转换~
      

  2.   

    用:
    try
    {
        //你的代码
    }
    catch(_com_error &e) 

        AfxMessageBox(e.Description()); 

    把你的代码包起来再试试..
      

  3.   

    帐号《=》账号? 有没有写错?
    密码
    admininfo
    是不是都存在?
    还是不行的话试试换换条件,看其他字段有没有问题。