事务的机制是在数据库中,删除旧数据的同时必须添加新的数据,否则保留原来的旧数据
标准用法是
1.先调用SQLiteDatabase中的beginTransaction()方法开启一个事务
2.在一个异常捕获的代码中执行数据库操作
3.操作完成后调用endTransaction结束事务
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.beginTransaction();//开始事物
try{
db.delete("Book", null, null);
if (true){
//手动抛出异常
throw new NullPointerException();
}
ContentValues values = new ContentValues();
values.put("name", "Game of Thrones");
values.put("author", "George Martin");
values.put("pages", 720);
values.put("price", 20.85);
db.insert("Book", null, values);
db.setTransactionSuccessful();//事务已经执行成功
}catch (IOException e){
e.printStackTrace();
}finally{
db.endTransaction();//结束事务
}