首页 > 代码库 > android database 相关
android database 相关
以前用database从来都是直接执行,db.execute()。
今天看公司1.0的源码中又学习了一个逻辑,
SecureSQLiteDatabase db = null;
try {
db = mOpenHelper.openDatabase();
db.beginTransaction();
try {
todo 数据操作
};
//db 所要执行的操作
db.update(MstDataEntry.TABLE_NAME, values, whereClause, whereArgs);
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
} finally {
mOpenHelper.close();
}
程序执行到endTransaction() 方法时会检查事务的标志是否为成功,
如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,
如果没有调用setTransactionSuccessful() 方法则回滚事务。
这样就能使我们要执行的操作也就是事务被确定执行才返回,并关掉db。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。