Android 数据库事务处理(转)
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction()方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful()方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful()方法则回滚事务。事务处理应用:很多时候我们需要批量的向Sqlite中插入大量数据时,单独的使用添加方法导致应用响应缓慢,因为sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操作。如初始8000条记录也就是要8000次读写磁盘操作。同时也是为了保证数据的一致性,避免出现数据缺失等情况。
SQLiteDatabasedb=dbOpenHelper.getWritableDatabase();
//开启事务
db.beginTransaction();
try{
//批量处理操作
//dosomething
db.execSQL("SQL语句",newObject[]{});
db.execSQL("SQL语句",newObject[]{});
//设置事务标志为成功,当结束事务时就会提交事务
db.setTransactionSuccessful();
}
catch(Exceptione){
}
finally{
//结束事务
db.endTransaction();
}
相关推荐
spurity 2020-11-10
LeeLuffy 2020-10-16
DriveCar 2020-09-07
zjuwangleicn 2020-09-04
gamestart0 2020-08-15
loviezhang 2020-08-08
gaozhennan 2020-08-03
mcvsyy 2020-08-02
happinessaflower 2020-07-29
花落花开春去秋来 2020-07-29
牧场SZShepherd 2020-07-20
qingjiuquan 2020-07-18
zhanbuquan 2020-07-04
粗茶淡饭 2020-06-25
zbcaicai 2020-06-21
zhanbuquan 2020-06-21
花落花开春去秋来 2020-06-20
bluetears 2020-06-17
csdnlytPractice 2020-06-11
heniancheng 2020-06-10