SQLiteDatabase事务
2015-08-14 09:13
288 查看
SQLiteDatabase中包含如下两个方法来控制事务。
beginTransaction():开始事务
endTransaction():结束事务
除此之外,SQLiteDatabase还提供了如下方法来判断当前上下文是否处于事务环境中。
inTransaction():如果当前上下文处于事务中,则返回true;否则返回false。
当程序执行endTransaction()方法时将会结束事务——那到底是提交事务呢,还是回滚事务呢?这取决于SQLiteDatabase是否调用了setTransactionSuccessful()方法来设置事务标志,如果程序事务执行中调用了该方法设置了事务成功则提交事务;否则程序将会回滚事务。
示例代码如下:
beginTransaction():开始事务
endTransaction():结束事务
除此之外,SQLiteDatabase还提供了如下方法来判断当前上下文是否处于事务环境中。
inTransaction():如果当前上下文处于事务中,则返回true;否则返回false。
当程序执行endTransaction()方法时将会结束事务——那到底是提交事务呢,还是回滚事务呢?这取决于SQLiteDatabase是否调用了setTransactionSuccessful()方法来设置事务标志,如果程序事务执行中调用了该方法设置了事务成功则提交事务;否则程序将会回滚事务。
示例代码如下:
//开始事务 db.beginTransaction(); try { //执行DML语句 ... //调用该方法设置事务成功;否则endTransaction()方法将会回滚事务 db.setTransactionSuccessful(); } finally { //由事务的标志决定是提交事务还是回滚事务 db.endTransaction(); }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories