delphi 在操作Access数据库时。当数据插入或修改出错时,如何使其回滚。
4个回答
展开全部
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;
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询