在SQLite中使用事務



使用SQLiteDatabase的beginTransaction()方法可以開啟一個事務,程序執行到endTransaction() 方法時會檢查事務的標志是否為成功,如果為成功則提交事務,否則回滾事務。當應用需要提交事務,必須在程序執行到endTransaction()方法之前使用setTransactionSuccessful() 方法設置事務的標志為成功,如果不調用setTransactionSuccessful() 方法,默認會回滾事務。

使用例子如下:

 1   SQLiteDatabase db  =  .;
 2  db.beginTransaction(); // 開始事務
 3  try  {
 4      db.execSQL( " insert into person(name, age) values(?,?) " new  Object[]{ " gaolei " 22 });
 5      db.execSQL( " update person set name=? where personid=? " new  Object[]{ " zhangsan " 1 });
 6      db.setTransactionSuccessful(); // 調用此方法會在執行到endTransaction() 時提交當前事務,如果不調用此方法會回滾事務
 7  finally  {
 8      db.endTransaction(); // 由事務的標志決定是提交事務,還是回滾事務
 9 
10  db.close();
上面兩條SQL語句在同一個事務中執行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM