我不確定我是否正確寫入。在此查詢中事務是否正確執行?
procedure TMainForm.AdvGlowButton1Click(Sender: TObject);
begin
DataModule2.INS_Query.Close;
DataModule2.INS_Query.SQL.Clear;
DataModule2.FDTransaction1.StartTransaction;
try
if cxlookupcombobox1.Text ='' then begin
....
....
DataModule2.INS_Query.ExecSQL;
DataModule2.FDTransaction1.Commit;
end else begin
if cxlookupcombobox1.Text <>'' then
......
......
DataModule2.INS_Query.ExecSQL;
DataModule2.FDTransaction1.Commit;
end;
except
on e: exception do begin
Showmessage(format('Error occured. Error is: %s',[e.message]));
DataModule2.FDTransaction1.Rollback;
DataModule2.MYTABLE.Cancel;
end;
end;
它執行所有權利,但有些事情是嘮叨我。
DataModule2.FDTransaction1.Commit;
是否必須提交兩次?或者我是否正確編寫了這個查詢?
在顯示的代碼中,您只能執行一個'DataModule2.FDTransaction1.Commit'。無論是在主if語句還是在else語句中。總之,'else'子句中的第一個條件與主'if'子句中的第一個條件相同似乎有點奇怪。這是真實的代碼嗎? – 2014-09-03 12:40:37
是的,它是真實的,只要我可以告訴 – user3927897 2014-09-03 13:04:30