Android 用SQLite实现事务的方法

时间:2022-03-15 16:23:12

复制代码 代码如下:


 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:类似转账功能,两个操作在同一个事务中完成。