delphi 事務處理SQL語句

2021-05-21 19:42:04 字數 1153 閱讀 2168

方法一(利用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讀取資料字典,檢查是否存在該關係和相應字段,並對該命令進行...