在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(); 

發佈了30 篇原創文章 · 獲贊 3 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章