您的位置:首页 > 数据库

数据库事务处理机制

2016-06-08 16:24 302 查看
使用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();

}

原文地址:http://blog.csdn.net/luckyjda/article/details/8103372
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: