默認一條語句就是一個事務,如果想執行多條語句,可以使用事務。
try{
db.beginTransaction();
db.execSQL(userTable.toString());
db.execSQL(groupTable.toString());
db.execSQL(messageTable.toString());
db.setTransactionSuccessful();
}catch(Exception e){
e.printStackTrace();
}finally{
db.endTransaction();
}
db.beginTransaction開啓事務。
db.setTransactionSuccessful設置事務處理成功,如果不設置的話,事務會自動回滾不會提交。
db.endTranscation結束事務,處理完成。本語句必須被調用。在finally塊中執行。
程序執行到endTransaction() 方法時會檢查事務的標誌是否爲成功,如果程序執行到endTransaction()之前調用了setTransactionSuccessful() 方法設置事務的標誌爲成功,則所有從beginTransaction()開始的操作都會被提交,如果沒有調用setTransactionSuccessful() 方法則回滾事務。