SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果为成功则提交事务,否则回滚事务。
当应用需要提交事务,必须在程序执行到endTransaction()方法之前使用setTransactionSuccessful() 方法设置事务的标志为成功,如果不调用setTransactionSuccessful() 方法,默认会回滚事务。
使用例子如下: SQLiteDatabase db = ....;
db.beginTransaction();//开始事务
try {
    db.execSQL("insert into person(name, age) values(?,?)", new Object[]{"软件技术", 4});
    db.execSQL("update person set name=? where personid=?", new Object[]{"软件", 1});
    db.setTransactionSuccessful();//调用此方法会在执行到endTransaction() 时提交当前事务,如果不调用此方法会回滚事务
} finally {
    db.endTransaction();//由事务的标志决定是提交事务,还是回滚事务
db.close(); 
上面两条SQL语句在同一个事务中执行。

最新文章

  1. ASP.NET中Ajax的用法
  2. 使用智能指针来管理对象 (基于RAII)
  3. Entity Framework 在Vs2012下Update Model From DataBase 失败的问题
  4. Javascript 使用小案例
  5. groovy-语句
  6. 【SpringMVC】SpringMVC系列2之@RequestMapping 映射约束请求
  7. ArcGIS Desktop打开慢的解决办法
  8. hadoop Safe mode is ON 的解决办法
  9. 【HTML】Advanced1:Text: Time, Mark, and "Presentational"
  10. Ubuntu中安装编译并测试HTK语音识别库
  11. 走进C标准库(8)——"string.h"中函数的实现相关字符串操作函数
  12. MBG 相关资源链接
  13. WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇)
  14. 在单机Docker上安装 Traefik 反向代理-负载均衡器
  15. LGOJ P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm
  16. router-link 自定义点击事件
  17. dispatchers 设置
  18. Qt编译好的oracle驱动下载
  19. hdu 5784 How Many Triangles 计算几何,平面有多少个锐角三角形
  20. 微信小程序 --- toast消息提示框

热门文章

  1. 在网站开发时,可以设置防盗,不被复制和F12
  2. 【学习总结】C-翁恺老师-入门-总
  3. PyCharm中快速给选中的代码加上{}、<>、()、[]
  4. VMware虚拟机与Windows文件共享
  5. oracle查看表结构命令desc
  6. JS学习笔记 等于和包装对象
  7. js中获取当前项目名等
  8. python之路--MRO和C3算法
  9. python数学第六天【指数族】
  10. 老男孩python学习自修第十二天【常用模块之生成随机数】