SQLiteDatabase中包含如下两个方法来控制事务 ①:beginTransaction():开始实务 ②:endTransaction():结束事务 除此之外,SQLiteDatabase还提供了如下方法来判断当前 上下文是否处于事务环境中。 ①:inTransaction():如果当前上下文处于事务中, 则返回true,否则返回false. 当程序执行endTransaction()方法时将会结束事务---- 那到底是提交事务呢,还是回滚事务呢? 这取决于SQLiteDatabase是否调用了 setTransactionSuccessful()方法来设置事务标志, 如果程序事务执行中调用该方法设置了事务成功则提交事务; 否则程序将会回滚事务。 示例代码如下: //开始事务 db.beginTransaction(); try{ //执行DML语句 ... //调用该方法设置事务成功; //否则endTransaction()方法将回滚事务 db.setTransactionSuccessful(); }finally{ //由事务的标志决定是提交事务还是回滚事务 db.endTransaction(); }
事务
最新推荐文章于 2021-05-28 22:36:31 发布