Android開發中的SQLite事務處理,即beginTransaction()方法

使用SQLiteDatabase的beginTransaction()方法能夠開啓一個事務,程序執行到endTransaction() 方法時會檢查事務的標誌是否爲成功,若是程序執行到endTransaction()以前調用了setTransactionSuccessful() 方法設置事務的標誌爲成功則提交事務,若是沒有調用setTransactionSuccessful() 方法則回滾事務。事務處理應用:不少時候咱們須要批量的向Sqlite中插入大量數據時,單獨的使用添加方法致使應用響應緩慢, 由於sqlite插入數據的時候默認一條語句就是一個事務,有多少條數據就有多少次磁盤操做。如初始8000條記錄也就是要8000次讀寫磁盤操做。同時也是爲了保證數據的一致性,避免出現數據缺失等狀況。sql

SQLiteDatabase db = dbOpenHelper.getWritableDatabase();spa

//開啓事務sqlite

db.beginTransaction();事務

try{get

            //批量處理操做it

            //do somethingio

           db.execSQL("SQL語句", new Object[]{});table

           db.execSQL("SQL語句", new Object[]{});程序

            //設置事務標誌爲成功,當結束事務時就會提交事務方法

            db.setTransactionSuccessful();

}

catch(Exception e){

 

}

 

finally{

           //結束事務

          db.endTransaction();

}

相關文章
相關標籤/搜索