各位大侠:
    小弟最近编写个程序,用ADO访问SQL Server,在调用m_pRecordset->Update()是有时报错,调试状态下直接进入msado15.dll中的 inline HRESULT Recordset15::Update(const _variant & Fields, const _variant_t &Values)
{
   HRESULT _hr=raw_Update(Fields,Values);
   if(FAILED(hr)) _com_issue_errorex(_hr, this, _uuidof(this));
   return _hr;//错误提示在这里
}
请各位大侠分析具体原因

解决方案 »

  1.   

    加异常捕获看是什么错误
    try
    {
    //你的ADO代码
    }
    catch (_com_error& e)
    {
    AfxMessageBox(e.Description());
    }
      

  2.   

    今天又在release下跑了2个多小时,结果崩出个错误,提示如下:
    违反了PRIMARY KEY 约束‘PK_DW_HISTORY_DATA’,不能在对象‘DW_HISTORY_DATA’中插入重复键请各位大侠分下什么意思?
      

  3.   

    违反了PRIMARY KEY 约束‘PK_DW_HISTORY_DATA’,不能在对象‘DW_HISTORY_DATA’中插入重复键
    数据问题导致的错误,检查更新或生成的数据。
      

  4.   

    数据库里就有一个表 表名:DW_HISTORY_DATA
    表中一共有4列
    第一列为datatime 类型为:datetime  长度 8  非空
    第二列为 MACHINE_ID类型为:VARCHAR 长度 10  非空
    第三列为 JDU 类型为:VARCHAR 长度 100 非空
    第四列为 WDU 类型为:VARCHAR 长度 100 非空其中第一列为主键请给位大侠分析一下结果
      

  5.   

    用GUID作主键,时间肯定没法保证是唯一的
    API:CoCreateGUID或者数据库本身的newGuid