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