public void payment() {
SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
db.beginTransaction();//开始事务
try {
db.execSQL("update person set amount=amount-10 where personid=2");
db.execSQL("update person set amount=amount+10 where personid=5");
db.setTransactionSuccessful();// 设置事务的标志为true,调用此方法会在执行到endTransaction()方法是提交事务,若没有调用此方法会在执行到endTransaction()方法回滚事务。
} catch (SQLException e) {
} finally {
db.endTransaction();
}
// 结束事务,有两种情况:commit,rollback,
// 事务的提交或回滚是由事务的标志决定的,如果事务的标志为true就会提交,否则回滚,默认情况下事务的标志为false
}
PS:类似转账功能,两个操作在同一个事务中完成。 您可能感兴趣的文章:Android开发中的数据库事务用法分析Android SQLite事务处理结合Listview列表显示功能示例深入Android SQLite 事务处理详解Android SQLite数据库增删改查操作的使用详解Android使用SQLite数据库的简单实例android创建数据库(SQLite)保存图片示例Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)android实现raw文件夹导入数据库代码Android中操作SQLite数据库快速入门教程Android实现将已发送的短信写入短信数据库的方法Android操作SQLite数据库(增、删、改、查、分页等)及ListView显示数据的方法详解Android数据库中事务操作方法之银行转账示例