方法一(利用adoconnection.exe(sqlstate)):
adoconnection1.begintrans;//開始事務
tryadoconnection1.execute(sqlstr1);
adoconnection1.execute(sqlstr2);
...adoconnection1.execute(sqlstrn);
adoconnection1.commitrans;//提交事務
showmessage('操作成功');
except
adoconnection1.rollbacktrans;//事務回滾
showmessage('操作失敗');
end;
//以上採取事務處理只能用在有支援事務處理的資料庫中,適用於對資料記錄的修改,插入,刪除等操作(只有極少幾條sql語句無事務處理),它的好處就是try..except內的sql語句全部執行成功時,才會提交到資料庫中,不然就全部取消,即使是最後一條出錯,出錯前的也會被取消,這比較符合現實現求,如銀行中的轉賬就必須用到事務處理!進銷存管理/財務賬等等都必須要用事務處理
方法二(在con的begintrans中寫控制項的資料提交):
adoconnection1.begintrans; //開始事務
try
with adocommand1 do
begin
connection:=adoconnection1;
commandtext:='update [country] set [population]=10000 where [name]=''venezuela''';//正確的sql語句
execute;
commandtext:='wrong sql command';//錯誤的sql
execute;
adoconnection1.committrans; //提交事務
end;
except
on e: exception do
begin
adoconnection1.rollbacktrans; //如有異常,事務回滾
showmessage(e.message);
end
end;
end;
delphi 事務處理SQL語句
方法一 利用adoconnection.exe sqlstate adoconnection1.begintrans 開始事務 tryadoconnection1.execute sqlstr1 adoconnection1.execute sqlstr2 adoconnection1.execut...
sql事務處理語言
事務 也稱為工作單元,是由乙個或多個sql語句組成的操作序列,這些sql語句作為乙個完整的工作單元,要麼全部執行成功,要麼全部執行失敗。這樣能保證資料的一致性。事務處理語言 transaction process language 簡稱tpl,主要用來對組成事務的dml語句的操作結果進行確認或取消。...
事務處理與SQL查詢
事務 完成乙個業務邏輯所涉及的一組具有acid特性的資料庫操作。事務管理器 transaction manager 負責對資料庫的改變記錄日誌,以支援系統崩潰後的恢復。併發控制器 保障事務的併發執行,以支援多使用者訪問。acid特性 dbms讀取資料字典,檢查是否存在該關係和相應字段,並對該命令進行...