BOOL CQpm2009::UpdateSam(int nID,const float fUFactor,const float fIFactor,
const CByteArray& arrySamUa,const CByteArray& arrySamUb,const CByteArray& arrySamUc,
const CByteArray& arrySamIa,const CByteArray& arrySamIb,const CByteArray& arrySamIc)
{
if(nID < 0)
return FALSE;
CDatabase* pDatase = pUnitsManager->GetDbLink();
if(pDatase == NULL)
return FALSE;
DWORD dwStatus = 0;

CQpmEqRec* pQpmRec = new CQpmEqRec(pDatase);
if(pQpmRec == NULL)
{
pUnitsManager->FreeLink(pDatase,dwStatus);
return FALSE;
} BOOL bRet = TRUE;
CString strSql; 
strSql.Format("SELECT * FROM qpmEquipment WHERE eqID=%d ",nID);
try
{
pQpmRec->Open(CRecordset::dynaset,strSql);
if(!pQpmRec->IsBOF())
{
pQpmRec->Edit(); pQpmRec->m_vFactor = fUFactor;
pQpmRec->m_iFactor = fIFactor; int nSize = 0;
nSize = min(arrySamUa.GetSize(),256);
pQpmRec->m_av.SetSize(nSize);
memcpy(pQpmRec->m_av.GetData(),arrySamUa.GetData(),nSize);
nSize = min(arrySamUb.GetSize(),256);
pQpmRec->m_bv.SetSize(nSize);
memcpy(pQpmRec->m_bv.GetData(),arrySamUb.GetData(),nSize);
nSize = min(arrySamUc.GetSize(),256);
pQpmRec->m_cv.SetSize(nSize);
memcpy(pQpmRec->m_cv.GetData(),arrySamUc.GetData(),nSize); nSize = min(arrySamIa.GetSize(),256);
pQpmRec->m_ai.SetSize(nSize);
memcpy(pQpmRec->m_ai.GetData(),arrySamIa.GetData(),nSize);
nSize = min(arrySamIb.GetSize(),256);
pQpmRec->m_bi.SetSize(nSize);
memcpy(pQpmRec->m_bi.GetData(),arrySamIb.GetData(),nSize);
nSize = min(arrySamIc.GetSize(),256);
pQpmRec->m_ci.SetSize(nSize);
memcpy(pQpmRec->m_ci.GetData(),arrySamIc.GetData(),nSize);
pQpmRec->Update();
}
pQpmRec->Close();
}
catch (CDBException* e)
{
CString strMsg = _T("数据库异常:") + e->m_strError;
PostEventOrShowMsg("系统提示",strMsg);
e->Delete();
dwStatus = 1;
bRet = FALSE;
}
catch (CException* e)
{
TCHAR chMessage[MAX_PATH];
UINT nHelpContext;
e->GetErrorMessage(chMessage,MAX_PATH,&nHelpContext);
CString strMsg(chMessage);
PostEventOrShowMsg("系统异常",strMsg);
e->Delete();
bRet = FALSE; 
}
if(!pQpmRec->IsOpen())
{
pQpmRec->Close();
}
delete pQpmRec;
pUnitsManager->FreeLink(pDatase,dwStatus);
return bRet;}