插入数据时怎么使用异常处理?我知道我的result=1还没起作用,因为我不知道插入成功该怎样表达。该写在哪里呢? Tdmmain.ADOConn1.BeginTrans;
with Tdmmain.tblcarinfo do
begin
append;
fieldbyname('cardnum').AsString:=edit1.Text;
fieldbyname('cartype').AsString:=edit1.Text;
fieldbyname('carbrand').AsString:=edit1.Text;
fieldbyname('color').AsString:=edit1.Text;
fieldbyname('carnum').AsString:=edit1.Text;
fieldbyname('drivername').AsString:=edit1.Text;
fieldbyname('dradress').AsString:=edit1.Text;
fieldbyname('cardate').AsDateTime:=strtodate(temdate);
fieldbyname('moneynum').AsInteger:=strtoint(edit1.Text);
fieldbyname('zhuitao').AsString:=edit1.Text;
post;
tdmmain.ADOConn1.CommitTrans;
end;
if result=1 then
begin
showmessage('插入车辆记录成功!');
end
else if result=0 then
begin
showmessage('数据插入失败,请与开发商联系!');
tdmmain.ADOConn1.RollbackTrans;
end;
with Tdmmain.tblcarinfo do
begin
append;
fieldbyname('cardnum').AsString:=edit1.Text;
fieldbyname('cartype').AsString:=edit1.Text;
fieldbyname('carbrand').AsString:=edit1.Text;
fieldbyname('color').AsString:=edit1.Text;
fieldbyname('carnum').AsString:=edit1.Text;
fieldbyname('drivername').AsString:=edit1.Text;
fieldbyname('dradress').AsString:=edit1.Text;
fieldbyname('cardate').AsDateTime:=strtodate(temdate);
fieldbyname('moneynum').AsInteger:=strtoint(edit1.Text);
fieldbyname('zhuitao').AsString:=edit1.Text;
post;
tdmmain.ADOConn1.CommitTrans;
end;
if result=1 then
begin
showmessage('插入车辆记录成功!');
end
else if result=0 then
begin
showmessage('数据插入失败,请与开发商联系!');
tdmmain.ADOConn1.RollbackTrans;
end;
...
...
try
post;
tdmmain.ADOConn1.CommitTrans;
showmessage('插入车辆记录成功!');
except
showmessage('数据插入失败,请与开发商联系!');
tdmmain.ADOConn1.RollbackTrans;
exit;//如果后面还有操作,这句加上
end;
showmessage('数据插入失败,请与开发商联系!');
之前又有数据库操作错误的系统提示,因为关键字是cardnum,我重复操作来着,怎么解决?
post;
tdmmain.ADOConn1.CommitTrans;
except
showmessage('数据插入失败,请与开发商联系!');
tdmmain.ADOConn1.RollbackTrans;
exit;//如果后面还有操作,这句加上
end; showmessage('插入车辆记录成功!');
是不是这样??还有个建议,……
showmessage('数据插入失败,请与开发商联系!');
tdmmain.ADOConn1.RollbackTrans;
……交换位置比较好。