老V表
老V表
  • 发布:2021-05-22 23:16
  • 更新:2021-05-22 23:16
  • 阅读:614

【报Bug】sqlite 可以插入,但是查询不报错也无响应。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.1.9

手机系统: Android

手机系统版本号: Android 7.0

手机厂商: 模拟器

手机机型: nox

页面类型: vue

打包方式: 离线

项目创建方式: HBuilderX

操作步骤:
// #ifdef APP-PLUS  
    let sqlUtil=function(){  
        let name='audio';  
        let path="_doc/lb.db";  
        plus.sqlite.openDatabase({  
                name: name,  
                path: path,  
                success: function(e){  
                    console.log("打开数据库成功!")  
                },  
                fail: function(e){  
                    // console.log('openDatabase failed: '+JSON.stringify(e));  
                    console.log("打开数据库失败!"+JSON.stringify(e))  
                }  
            });  
        return {  
            /**  
             * 关闭数据库  
             */  
            close:function(){  
                plus.sqlite.closeDatabase({  
                    name: name  
                })  
            },  
            select:function(sql,callbak){  
                console.log("开始查询:"+sql)  
                 plus.sqlite.selectSql({  
                     name:name,  
                     sql:sql,  
                     success: function(data){  
                         console.log('selectSql success: '+JSON.stringify(e));  
                         callbak({status:"ok",data:data});  
                     },  
                     fail: function(e){  
                        console.log('selectSql failed: '+JSON.stringify(e));  
                        callbak({status:"err",data:e});  
                     }  
                 });  
            },  
            update:function(sql,callbak){  
                console.log("执行sql:"+sql)  
                plus.sqlite.executeSql({  
                        name: name,  
                        sql: sql,  
                        success: function(e){  
                            callbak({status:"ok",data:e});  
                        },  
                        fail: function(e){  
                            callbak({status:"err",data:e});  
                        }  
                    });  
            }  
        };  
    }  
    let sqlutilObj=sqlUtil();  
    /**  
     * 建表  
     */  
    let audioSql= "create table if not exists audio (id INTEGER PRIMARY KEY, type  INTEGER NOT NULL , name  TEXT  NOT NULL ,author  TEXT  NULL DEFAULT NULL ,anchor  TEXT   DEFAULT NULL ,source  TEXT   DEFAULT NULL ,sourceUrl TEXT  DEFAULT NULL ,status  INTEGER DEFAULT NULL ,synopsis TEXT  COMMENT )";  
    sqlutilObj.update(audioSql,(data)=>{  
        if(data.status=="ok"){  
            console.log("主表建表成功")  
        }else{  
            console.log("主表建表失败"+JSON.stringify(data.data))  
        }  
    })  
    let chapterSql= "create table if not exists chapter ( cid   INTEGER NOT NULL PRIMARY KEY, aid   INTEGER NOT NULL, cName TEXT   NOT NULL, cNumber   INTEGER NOT NULL, cUrl   TEXT   NOT NULL, cLocal   TEXT  DEFAULT NULL) ";  
     sqlutilObj.update(chapterSql,(data)=>{  
        if(data.status=="ok"){  
            console.log("副表建表成功")  
        }else{  
            console.log("副表建表失败"+JSON.stringify(data.data))  
        }  
     })  
Vue.prototype.sqlUtil=sqlutilObj;  
// #endif

新建表成功,查询无响应

预期结果:

应返回成功或错误信息

实际结果:

查询无响应

bug描述:

select:function(sql,callbak){  
                console.log("开始查询:"+sql)  
                 plus.sqlite.selectSql({  
                     name:name,  
                     sql:sql,  
                     success: function(data){  
                         console.log('selectSql success: '+JSON.stringify(e));  
                         callbak({status:"ok",data:data});  
                     },  
                     fail: function(e){  
                        console.log('selectSql failed: '+JSON.stringify(e));  
                        callbak({status:"err",data:e});  
                     }  
                 });  
            },  
            update:function(sql,callbak){  
                console.log("执行sql:"+sql)  
                plus.sqlite.executeSql({  
                        name: name,  
                        sql: sql,  
                        success: function(e){  
                            callbak({status:"ok",data:e});  
                        },  
                        fail: function(e){  
                            callbak({status:"err",data:e});  
                        }  
                    });  
            }

插入数据成功,但是查询没有报错也没有返回信息

2021-05-22 23:16 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复