码迷,mamicode.com
首页 > 移动开发 > 详细

Android开发中的SQLite事务处理

时间:2020-06-14 16:44:12      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:检查   exec   大量数据   exce   设置   应用   批量处理   原创文章   结束   

https://blog.csdn.net/luckyjda/article/details/8103372

使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事务处理应用:很多时候我们需要批量的向Sqlite中插入大量数据时,单独的使用添加方法导致应用响应缓慢, 因为sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。如初始8000条记录也就是要8000次读写磁盘操作。同时也是为了保证数据的一致性,避免出现数据缺失等情况。

SQLiteDatabase db = dbOpenHelper.getWritableDatabase();

//开启事务
db.beginTransaction();
try{
            //批量处理操作
            //do something
           db.execSQL("SQL语句", new Object[]{});
           db.execSQL("SQL语句", new Object[]{});
            //设置事务标志为成功,当结束事务时就会提交事务
            db.setTransactionSuccessful();
}
catch(Exception e){
 
}
 
finally{
           //结束事务
          db.endTransaction();
}
————————————————
版权声明:本文为CSDN博主「luckyjda」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/luckyjda/article/details/8103372

Android开发中的SQLite事务处理

标签:检查   exec   大量数据   exce   设置   应用   批量处理   原创文章   结束   

原文地址:https://www.cnblogs.com/CipherLab/p/13125176.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!