if(m_oDBMaster.QueryDataFromDataBase(strBufBit))
{
m_oDBMaster.AddRecord();
_variant_t vtFld;
vtFld.vt = VT_BSTR;
vtFld.bstrVal =VarInfomation.m_VarName.AllocSysString();
m_oDBMaster.SetField(1,vtFld);
vtFld.bstrVal =VarInfomation.m_DeviceName.AllocSysString();
m_oDBMaster.SetField(5,vtFld);//来自接口参数
vtFld.bstrVal =VarInfomation.m_DeviceType.AllocSysString();
m_oDBMaster.SetField(6,vtFld);
vtFld.bstrVal =VarInfomation.m_RegisterName.AllocSysString();
m_oDBMaster.SetField(7,vtFld);
vtFld.bstrVal =VarInfomation.m_DataType.AllocSysString();
m_oDBMaster.SetField(8,vtFld);
//vtFld.bstrVal =szRWAttribute.AllocSysString();//deleted by lei.jin 2012/09/03
//add by lei.jin 2012/09/03
if ( VarInfomation.m_RWAttribute == 0 )
{
CString str("Write-Only");
vtFld.bstrVal = str.AllocSysString();
}
else if ( VarInfomation.m_RWAttribute == 1 )
{
CString str("Read-Only");
vtFld.bstrVal = str.AllocSysString();
}
else
{
CString str("Read-Write");
vtFld.bstrVal = str.AllocSysString();
}
//add end by lei.jin 2012/09/03
m_oDBMaster.SetField(9,vtFld);
vtFld.vt=VT_I4;
vtFld.lVal =VarInfomation.m_CollectFrequency;
m_oDBMaster.SetField(10,vtFld);
vtFld.vt = VT_BSTR;
vtFld.bstrVal =AlarmGroup.AllocSysString();
m_oDBMaster.SetField(12,vtFld);
vtFld.bstrVal =szHistoryRecordWay.AllocSysString();
m_oDBMaster.SetField(22,vtFld);
vtFld.bstrVal =szSecurityArea.AllocSysString();
m_oDBMaster.SetField(25,vtFld);
m_oDBMaster.Update();
m_oDBMaster.CloseQuery();
}
为啥移到更新的时候就出错呢?
inline HRESULT Recordset15::Update ( const _variant_t & Fields, const _variant_t & Values ) {
HRESULT _hr = raw_Update(Fields, Values);
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return _hr;