我在两个不同的对话框中,分别连接不同的两个表(A,B),其中一个就没有问题(表A),用相同的代码连另外一个表(表B),就出现错误。但把连表B的代码中的SELECT语句改为连A的,就没有任何问题!这是什么原因??奇怪!
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
m_pRecordset->Open("SELECT * FROM user"//如果改为表A,就没有问题 m_pConnection.GetInterfacePtr(), adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}

解决方案 »

  1.   

    看你的SQL语句在查询分析器中可以执行吗,有没有错误。
    "SELECT * FROM user" 中user是关键字
      

  2.   

    已经解决了!但不知道为什么!我在ACCESS中用该SQL语句就可以,在程序中就不行,后来我改了改表名,在程序中就可以了!
      

  3.   

    show us the error message accured in catch(_com_error *e)
    {
    AfxMessageBox(e->ErrorMessage());
    }
      

  4.   

    是不是要加一句
    : e->delete();