使用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方法導致應...