SQLite事務的實現

2021-06-01 23:01:15 字數 506 閱讀 2785

使用sqlitedatabase的begintransaction()方法可以開啟乙個事務,程式執行到endtransaction() 方法時會檢查事務的標誌是否為成功,如果程式執行到endtransaction()之前呼叫了settransactionsuccessful() 方法設定事務的標誌為成功則提交事務,如果沒有呼叫settransactionsuccessful() 方法則回滾事務。使用例子:

sqlitedatabase db = ....;

db.begintransaction();//開始事務

try );

db.execsql("update person set name=? where personid=?", new object);

();//呼叫此方法會在執行到endtransaction() 時提交當前事務,如果不呼叫此方法會回滾事務

db.settransactionsuccessful

} finally

db.close();

SQLite事務操作

sqlite引入事物,用來併發sql語句的執行。事務是針對資料庫的一組操作,它可以由一條或多條sql語句組成,同乙個事務的操作具備同步的特點,如果有一條語句無法執行,那麼所有語句都不會執行。也就是說,事務中的語句要麼都執行,要麼都不執行。以下示例 中,通過sqlite的事務來模擬銀行轉賬功能。首先要...

sqlite的事務和鎖

一 事務 事務定義了一組sql命令的邊界,這組命令或者作為乙個整體被全部執行,或者都不執行。事務的典型例項是轉帳。二 事務的範圍 事務由3個命令控制 begin commit和rollback。begin開始乙個事務,之後的所有操作都可以取消。commit使begin後的所有命令得到確認 而roll...

SQLite中的事務操作

關於sqlite事務可以解決一些問題,比如你要插入兩個資料,可以將兩個資料作為同乙個事務進行插入,這樣如果第二個資料錯誤了,便自動執行回滾操作,第乙個資料也不會插入成功,保證了資料的同步!一 實際的例子 應用程式初始化時需要批量的向sqlite中插入大量資料,單獨的使用for insert方法導致應...