数据库保存出错!
_RecordsetPtr pRsAJ("ADODB.Recordset");
sql=CString("Select * From BuildInfo ")+CString("Where XMBH = '")+m_XMBH+CString("' ")+CString("And FWMC = '")+m_FWMC+CString("'");
try
{
pRsAJ->Open((LPCTSTR)sql,g_pCnHTXT.GetInterfacePtr(),\
adOpenStatic, adLockOptimistic, adCmdText);
}
catch(...)
{
if (pRsAJ->GetState()==adStateOpen) pRsAJ->Close();
AfxMessageBox(_T("获取案件房屋信息出错!\n")); return;
}
if(pRsAJ->ADOEOF) pRsAJ->AddNew();
try
{
pRsAJ->PutCollect("XMBH", _variant_t(m_XMBH));
pRsAJ->PutCollect("FWMC", _variant_t(m_FWMC));
vTemp.intVal=_tstoi(m_RowNo);pRsAJ->PutCollect("ROWNO", vTemp);
vTemp.intVal=_tstoi(m_ZTS); pRsAJ->PutCollect("TaoShu", vTemp);
vTemp.intVal=_tstoi(m_ZCS); pRsAJ->PutCollect("ZCS", vTemp);
vTemp.intVal=_tstoi(m_JZCS);pRsAJ->PutCollect("JZCS", vTemp);
vTemp.intVal=_tstoi(m_DXCS);pRsAJ->PutCollect("DXCS",vTemp);
}
catch(_com_error e)
{
CString strErrMsg=e.ErrorMessage();
AfxMessageBox(_T("保存房屋信息出错!\n")); return;
}
问题出现了:
ROWNO,TAOSHU 两个字段在数据库(ORACLE)里的数据类型是NUMBER(4).m_RowNo,m_ZTS是保存输入框结果的CString类型的字符串,结果发现当我在两个框里分别输入3,4时,数据库的结果没有保存,显示为0.
也就是vTemp.intVal=_tstoi(m_RowNo);这里的m_RowNo显示数据是3,但vTemp.intVal显示值为0.
求解!!