zoukankan      html  css  js  c++  java
  • Android开发中的SQLite事务处理,即beginTransaction()方法

    使用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();

    }

  • 相关阅读:
    每天一个linux命令(6):mv命令
    每天一个linux命令(5):rm 命令
    每天一个linux命令(4):mkdir命令
    每天一个linux命令(3):pwd命令
    每天一个linux命令(2):cd命令
    每天一个linux命令(1):ls命令
    Linux下svn命令详解
    Linux下SVN安装配置
    SVN命令使用详解
    分布式Web服务器架构
  • 原文地址:https://www.cnblogs.com/sharecenter/p/5621057.html
Copyright © 2011-2022 走看看