事务

SQLiteDatabase中包含如下两个方法来控制事务
①:beginTransaction():开始实务
②:endTransaction():结束事务

除此之外,SQLiteDatabase还提供了如下方法来判断当前
上下文是否处于事务环境中。
①:inTransaction():如果当前上下文处于事务中,
则返回true,否则返回false.

当程序执行endTransaction()方法时将会结束事务----
那到底是提交事务呢,还是回滚事务呢?
    这取决于SQLiteDatabase是否调用了
setTransactionSuccessful()方法来设置事务标志,
如果程序事务执行中调用该方法设置了事务成功则提交事务;
否则程序将会回滚事务。
   示例代码如下:
   //开始事务
   db.beginTransaction();
   try{
       //执行DML语句
       ...
       //调用该方法设置事务成功;
       //否则endTransaction()方法将回滚事务
       db.setTransactionSuccessful();
   }finally{
        //由事务的标志决定是提交事务还是回滚事务
        db.endTransaction();
   }

你可能感兴趣的:(android)