D
delphiere
Unregistered / Unconfirmed
GUEST, unregistred user!
我想在dbgrid中编辑和增加。由于dbgrid太免感了,没有保存,就已经存入数据库了。
所以我想通过一个按钮老保存,如果成功就提高事务,反之就回滚。
可这样写当dbgrid增加两条记录时,为什么会出现回滚到增加的第一条记录上去呢?而不是滚到
原先的最后一条记录呢?
procedure TForm1.Button1Click(Sender: TObject);
begin
adoconnection1.BeginTrans;//开始事务
if application.MessageBox('是否保存','提示',mb_yesno+mb_iconquestion)=idyes then
begin
adoconnection1.CommitTrans;//提高
adoquery1.Edit;
adoquery1.Post;
end
else
adoconnection1.RollbackTrans; //回滚!
adoquery1.CancelUpdates;
所以我想通过一个按钮老保存,如果成功就提高事务,反之就回滚。
可这样写当dbgrid增加两条记录时,为什么会出现回滚到增加的第一条记录上去呢?而不是滚到
原先的最后一条记录呢?
procedure TForm1.Button1Click(Sender: TObject);
begin
adoconnection1.BeginTrans;//开始事务
if application.MessageBox('是否保存','提示',mb_yesno+mb_iconquestion)=idyes then
begin
adoconnection1.CommitTrans;//提高
adoquery1.Edit;
adoquery1.Post;
end
else
adoconnection1.RollbackTrans; //回滚!
adoquery1.CancelUpdates;