我在数据表的NUMBER型列中用ADO操作插入double型数据,循环插入操作,每次插入的值相同;前几个循环下来没问题,可时间一长就会出现ORA-01426:数字溢出;且每次出现的时间都不同,不知是我程序操作问题还是ORACLE不稳定,请哪位专家指导一下!!!
下面是部分代码:
while(true)
{
for(int cc = 1; cc<=4; cc++)
{ try
{
_variant_t RecordsAffected;
CString sqlstr = "";
sqlstr.Format("INSERT INTO Control_command VALUES (to_date('%s','yyyy-mm-dd HH24:MI:SS'),'%d', '%lf','%lf','%lf')",aDlg->cstime, cc,
aDlg->p[temp+0],aDlg->p[temp+1],aDlg->p[temp+2]); //最后三列是number型 aDlg->m_pConServer->Execute((_bstr_t)sqlstr,&RecordsAffected,adCmdText);
}
catch (_com_error e)
{
CString csError="";
csError.Format("%s\n", (char *)e.Description());
AfxMessageBox(csError);
return 1;
}
temp+=3;
}
}
下面是部分代码:
while(true)
{
for(int cc = 1; cc<=4; cc++)
{ try
{
_variant_t RecordsAffected;
CString sqlstr = "";
sqlstr.Format("INSERT INTO Control_command VALUES (to_date('%s','yyyy-mm-dd HH24:MI:SS'),'%d', '%lf','%lf','%lf')",aDlg->cstime, cc,
aDlg->p[temp+0],aDlg->p[temp+1],aDlg->p[temp+2]); //最后三列是number型 aDlg->m_pConServer->Execute((_bstr_t)sqlstr,&RecordsAffected,adCmdText);
}
catch (_com_error e)
{
CString csError="";
csError.Format("%s\n", (char *)e.Description());
AfxMessageBox(csError);
return 1;
}
temp+=3;
}
}
我也看不懂你的c程序(我用java)。