在vc与ado连接时出现idispatch error 3092是什么错误

如题所述

string strSQL = "UPDATE main SET value = '53.74' WHERE id=100003";
try
{
      m_connectionPtr->Execute(strSQL.c_str(), &recordsAffected, adCmdText);
}
catch(_com_error e)

      string strErrMsg;
      strErrMsg = "Fail to connect database! Error Message: ";
      strErrMsg += e.ErrorMessage();
      return -1;
}
IDispatch error #3092
在采用ADO访问ACCESS数据库的时候,出现IDispatch error #3092错误的原因之一是在SQL语句中使用了保留关键字。
比如:如果表的名称为User 则会出现该错误。
另外,今天发现,若字段为value时也会出现上述错误:
UPDATE main SET value = '53.74' WHERE id=100003
并确认不是main表名的问题,上述SQL语句修改如下即工作正常:
UPDATE main SET main.value = '53.74' WHERE id=100003

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答