const open_transactionDB = function(status) {
plus.sqlite.transaction({
name: dataBaseName,
operation: status,
success: function(e) {
// console.log('transaction success!', status);
},
fail: function(e) {
console.log('transaction failed: ' + JSON.stringify(e));
}
});
}
try{
open_transactionDB("begin");
//数据库操作方法
open_transactionDB("commit");
}catch(e){
open_transactionDB("rollback");
}
- 发布:2022-08-17 16:18
- 更新:2024-03-20 10:59
- 阅读:701
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 3.5.3
手机系统: Android
手机系统版本号: Android 11
手机厂商: 小米
手机机型: MI 10 Ultra
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
百分百出现
百分百出现
预期结果:
能正常使用事务
能正常使用事务
实际结果:
数据丢失
数据丢失
bug描述:
安卓sqlite事务执行app关闭后数据会丢失,app打开情况下commit后是正常,但关闭app后重新打开数据丢失了,我们检查过在app打开情况下commit完,本地的db文件是没有更新的,但通过select是可以查到对应数据,只是app关闭再打开就数据没了,但如果关闭事务,去插入本地db文件是会更新的
同时试过ios系统中的事务是正常的
2 个回复
BoredApe - 有问题就会有答案。
请上传一个能重现问题的测试工程
DClovd_Zy
解决了吗