在SQLite中如何使用事务

来源:互联网 发布:msxml是什么软件 编辑:程序博客网 时间:2024/06/07 14:25
public void payment() {
  SQLiteDatabase db =dbOpenHelper.getWritableDatabase();
  try {
   db.beginTransaction();// 开启事务
   db.execSQL("updateperson set amount=amount+100 where id=2");
   db.execSQL("updateperson set amount=amount-100 where id=3");
   db.setTransactionSuccessful();//设置事务提交的标志,事务提交标志默认为false
   //只有事务提交标志为true时,才会在结束事务之前提交事务,否则会回滚事务,调用此方法会在执行到db.endTransaction时提交事务
  } finally {
   db.endTransaction();//结束事务,由事务的标志决定是提交事务还是回滚事务
  }
 }
0 0