详细问题描述
[内容]
UNI-APP 纯 NVUE 项目。
之前已经在 APP.VUE 中打开了数据库文件,并且回调显示成功。
//通过以下方式打开数据库
plus.sqlite.openDatabase({
name: 'DB',
path: '_doc/db.db',
success: function(e) {
console.log('本地数据库打开成功!');
app.globalData.isDBopen = true;
},
fail: function(e) {
console.log('本地数据库打开失败: ' + JSON.stringify(e));
uni.showModal({
title: '数据库打开失败',
content: e.message,
showCancel: false
});
}
});
另外一个页面执行下面语句:
plus.sqlite.executeSql({
name: 'DB',
sql: 'CREATE TABLE ddd ( id PRIMARY KEY NOT NULL);',
succes: res => {
console.log("执行成功",res);
},
fail: function(res) {
console.log('执行错误:' , res);
plus.sqlite.closeDatabase("DB")
},
});
重现步骤
[步骤]
[广告] 00:58:20.699 DCloud 新春招聘开启,欢迎前端、Android、C++/QT来投简历! 详情点击
00:58:20.712 项目 'ZhangDan' 开始编译...
00:58:22.928 编译器版本:2.5.7
00:58:22.928 当前nvue编译模式:uni-app 。编译模式差异见:https://ask.dcloud.net.cn/article/36074
00:58:22.931 请注意运行模式下,因日志输出、sourcemap以及未压缩源码等原因,性能和包体积,均不及发行模式。尤其是app-nvue的sourcemap影响较大
00:58:22.932 正在编译中...
00:58:32.730 DONE Build complete. Watching for changes...
00:58:32.732 项目 'ZhangDan' 编译成功.
00:58:33.318 正在建立手机连接...
00:58:35.072 手机端调试基座版本号为9.6.65,版本号相同,跳过基座更新
00:58:35.344 正在同步手机端程序文件...
00:58:36.248 同步手机端程序文件完成
00:58:36.595 正在启动HBuilder调试基座...
00:58:37.924 应用【XXXX】已启动...
00:58:38.170 App Launch at App.vue:4
00:58:38.190 数据库没有打开,执行打开数据库 at App.vue:8
00:58:38.210 设置屏幕常亮成功 at App.vue:14
00:58:38.230 App Show at App.vue:21
00:58:38.251 本地数据库打开成功! at App.vue:43
//===这里是新页面中执行的命令===
00:58:50.493 执行初始化
//===下面这条其实是执行成功了的,但是没有回调succes,反而回调了fai,并且没有返回任何错误信息l====
//===通过进入手机查看生成的DB文件,发现ddd表已经创建成功===
00:58:50.513 执行错误:, [Object] {}
//===再次执行命令,肯定失败,应为已经创建了ddd表了也进一步验证了上一次执行是成功的。====
00:58:58.487 执行初始化
00:58:58.507 执行错误:, [Object] {"code":-1404,"message":"android.database.sqlite.SQLiteException: table ddd already exists (Sqlite code 1 ...}
[结果]
[期望]
修复BUG或者提供替代解决办法。
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[IDE版本号]
最新的测试版 2.5.7
最新的稳定版 2.5.1
都试过,依然如此。
[windows版本号]
WIN 10
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
不考虑多端,仅用在APP端。
[运行端版本号]
最新的测试版 2.5.7
最新的稳定版 2.5.1
都试过,依然如此。
[项目是HBuilderX创建的]
[编译模式是老模板模式还是新的自定义组件模式?]
当前nvue编译模式:uni-app
App运行环境说明
[Android版本号]
安卓 10
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
联系方式
[QQ]
3 个回复
赞城问哈 (作者)
补充一下
修改为plus.sqlite.selectSql语句,执行 查询。
发现问题依旧,但是通过回调 fail ,居然能拿到数据??
执行结果如下
赞城问哈 (作者)
再补充一下,,,同样代码在,,
H5端,APP VUE 和 APP NVUE 项目下执行,都是同样的问题。
L_Code
我也遇到这个问题了, 但是只是在 删数据的时候没有回调,也是安卓10。看来官方3个月并没有改这个BUG