delphi 在操作Access数据库时。当数据插入或修改出错时,如何使其回滚。

2025-05-13 11:26:31
推荐回答(4个)
回答(1):

ACCESS不支持事务回滚,根本没有事务这一说。其实事务回滚也没有多大用处,录入可修改数据出错,如果SQL语句中的字段与赋值字段名没有问题,或者数据组件的确已经打开并且处于编辑或插入或增加状态,那么余下的问题,就是输入的数据类型与表中定义的字段类型不符,这个问题很好解决,当用户输入一个字段值离开输入框时,就检测输入的值是否合法,如果不合法就让告诉用户,出错了,错在那里,一直到保存数据,用什么事务回滚,蹦出一个中英文混合的提示框,鬼都看不懂,让用户满界面找问题,用户不骂你才怪。

回答(2):

try

ADOConnection1.BeginTrans;//开启个事务

adoquery.close;

adoquery.sql.text:='';

adoquery.ExecSQL;

ADOConnection1.CommitTrans;//提交事务

showmessage('成功');

except

on e:Exception do
begin

ADOConnection1.RollbackTrans;//事务回滚

showmessage('失败,原因:'+#13+e.message);

exit;

end;

end;

回答(3):

access好像是不支持事物的, 换mysql或者mssql吧。

回答(4):

用 try