是这样的。我在ADOTable1的onCalcFields事件中写了如下的代码。用于合计(heji)字段。程序运行时没有什么问题。但用DBNavigator1的"+"号增加一条记录时,出现了错误对话框显示为"
Project shoufei.exe raised excekption class EConvertError with message "is not a valid integer value'. process stopped.use step or run to continue"
onCalcFields事件的代码: ADOTable1.FieldByName('heji').Value:= ADOTable1.fieldbyname('shihuafei').AsInteger+ADOTable1.fieldbyname('iphuafei').AsInteger;其中heji的计算字段我设置为:integer 。shihuafei 和iphuafei两个字段我在access中设置为"文本型"的。。
请哪位朋友告诉我怎么做?
Project shoufei.exe raised excekption class EConvertError with message "is not a valid integer value'. process stopped.use step or run to continue"
onCalcFields事件的代码: ADOTable1.FieldByName('heji').Value:= ADOTable1.fieldbyname('shihuafei').AsInteger+ADOTable1.fieldbyname('iphuafei').AsInteger;其中heji的计算字段我设置为:integer 。shihuafei 和iphuafei两个字段我在access中设置为"文本型"的。。
请哪位朋友告诉我怎么做?
先判断:
try
StrToInt(ADOTable1.fieldbyname('iphuafei').AsString);
StrToInt(ADOTable1.fieldbyname('iphuafei').AsString);
except
exit;
end;
ADOTable1.FieldByName('heji').Value:= ADOTable1.fieldbyname('shihuafei').AsInteger+ADOTable1.fieldbyname('iphuafei').AsInteger;
ADOTable1.FieldByName('heji').Value:= ADOTable1.fieldbyname('shihuafei').AsInteger+ADOTable1.fieldbyname('iphuafei').AsInteger;
except
on E:Exception do
ShowMessage('字段ShiHuaFei或字段IPHuaFei内容不合法,无法进行合理转换');
end;
(ADOTable1.fieldbyname('iphuafei').AsString<>'') thenADOTable1.FieldByName('heji').Value:= ADOTable1.fieldbyname('shihuafei').AsInteger+ADOTable1.fieldbyname('iphuafei').AsInteger
shihuafei,iphuafei:Integer;if ADOTable1.fieldbyname('iphuafei').AsString='' then
iphuafei:=0
else
iphuafei:=ADOTable1.fieldbyname('iphuafei').AsInteger;
if ADOTable1.fieldbyname('shihuafei').AsString='' then
shihuafei:=0
else
shihuafei:=ADOTable1.fieldbyname('shihuafei').AsInteger;ADOTable1.FieldByName('heji').Value:=iphuafei+shihuafei;