SQLite事务操作

SQLite引入事物,用来并发sql语句的执行。
事务是针对数据库的一组操作,它可以由一条或多条SQL语句组成,同一个事务的操作具备同步的特点,如果有一条语句无法执行,那么所有语句都不会执行。也就是说,事务中的语句要么都执行,要么都不执行。

以下示例代码中,通过SQLite的事务来模拟银行转账功能。
首先要得到一个可写的SQLiteDatabase对象,然后开启事务执行转入转出操作,最后关闭事务:
//helper对象的获取代码略
 public void transaction_operations(){
        //获取一个可写的SQLiteDatabase对象
        SQLiteDatabase db=helper.getWritableDatabase();
        //开始数据库的事务
        db.beginTransaction();
        try {
            //执行转出操作
            db.execSQL("update person set accunt-1000 where name=?",new Object[]{"丢丢"});
            //执行转入操作
            db.execSQL("update person set accunt+1000 where name=?",new Object[]{"贝贝"});
            //标记数据库事务执行成功
            db.setTransactionSuccessful();
        }catch (Exception e){
            Log.i("事务处理失败!",e.toString());
        }finally {
            //关闭事务!
            //关闭db!
            db.endTransaction();
            db.close();
        }
    }

你可能感兴趣的:(Andriod)