//備註:mysql必須是使用innodb引擎才支援事務功能,否則以下事務相關**將失效。//sql server和oracle還沒試,明天回公司試了再發**。procedure tform1.btn1click(sender: tobject);
vari, j: integer;
begin
uniconnection1.connect;
trytryunitransaction1.connections[
0].starttransaction;
uniquery1.params.clear;
uniquery1.sql.text := '
insert into user (username,password)values(:username, :password)';
uniquery1.params.parambyname(
'username
').value := '
eboy';
uniquery1.params.parambyname(
'password
').value := '
1111';
uniquery1.execsql;
//如果不使用事務,這條將插入進去
uniquery1.params.clear;
uniquery1.sql.text := '
insert into user (username,password)values(:username, :password)';
uniquery1.params.parambyname(
'username
').value := '
frr'
; uniquery1.params.parambyname(
'password
').value := '
123'
; uniquery1.execsql;
//如果不使用事務,這條將插入進去
uniquery1.params.clear;
uniquery1.sql.text := '
insert into user (username,password)values(:username, :password)';
uniquery1.params.parambyname(
'username
').value := 'lj'
; uniquery1.params.parambyname(
'password
').value := '
880414';
uniquery1.execsql;
//如果不使用事務,這條將插入進去
uniquery1.params.clear;
uniquery1.sql.text := '
insert into user (username,password)values(:username, :password)';
uniquery1.params.parambyname(
'username
').value := 'lj'
; uniquery1.params.parambyname(
'password
').isnull; //
欄位設為not null,所以這裡會出錯
uniquery1.execsql; //
開啟事務後,上面的三條都將回滾
unitransaction1.connections[
0].commit;
except on e: exception do
begin
unitransaction1.connections[
0].rollback;
showmessage(e.message);
end;
end;
finally
uniconnection1.disconnect;
end;end;
mysql unidac 使用事務例子
mysql unidac 使用事務例子 procedure tform1.btn1click sender tobject vari,j integer begin uniconnection1.connect trytryunitransaction1.connections 0 starttra...
Ibatis使用事務
一 事務概念 事務是一種機制 是一種操作序列,它包含了一組資料庫操作命令,這組命令要麼全部執行,要麼全部不執行。因此事務是乙個不可分割的工作邏輯單元。在資料庫系統上執行併發操作時事務是作為最小的控制單元來使用的。這特別適用於多使用者同時操作的資料通訊系統。例如 訂票 銀行 保險公司以及 交易系統等。...
SQLhelper使用事務
1 宣告連線myconnectstring 2 開啟事務begintransaction 3 執行時使用st 4 成功提交,失敗回滾 public function testshiwu dim strsql as string dim myconnectstring as string o.getc...