SQLiteDatabase中事物的使用方法
1.获得数据库实例
2.开启一个事物, db.beginTransaction ,将要执行的内容放进事物中
3.设置一个事物成功的标记 db.setTransactionSuccessful()
4.结束事物 db.endTransaction()
事物的特点:要么同时成功,要么同时失败.事物中的内容不会只成功一部分
SQLiteDatabase db = myOpenHelper.getReadableDatabase();
// 使用事物进行转账
db.beginTransaction(); // 开启事物
try {
// 实现转账的逻辑 实际上就写sql语句
db.execSQL("update info set money = money - 100 where name = ?",
new Object[] { "张三" });
db.execSQL("update info set money = money + 100 where name = ?",
new Object[] { "李四" });
// 给当前事物设置一个成功的标记
db.setTransactionSuccessful();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "服务器忙,请稍后再转", 1).show();
}
finally {
db.endTransaction(); // 关闭事物
}
}