默认一条语句就是一个事务,如果想执行多条语句,可以使用事务。
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() 方法则回滚事务。