详细问题描述
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容]
使用plus.sqlite的时候,往已有表里面插入数据的情况下,执行plus.sqlite.executeSql方法失败的情况下(例如插入不存在的数据库表字段),安卓手机无法触发fail的回调函数,控制台报 Uncaught SyntaxError: Invalid or unexpected token,尝试在try-catch块中捕获该异常,也无法捕获;但是苹果手机能够触发plus.sqlite.executeSql方法的fail的回调函数;
重现步骤
[步骤]
1.建表语句 CREATE TABLE if not exists push_msg("id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,"uid" INT NOT NULL,"title" CHAR(100) NOT NULL,"content" TEXT NULL,"operation" CHAR(100) NULL,"payload" TEXT NOT NULL,"hasRead" INT NOT NULL,"create_time" DATETIME NOT NULL DEFAULT(datetime('now','localtime')),"update_time" DATETIME NOT NULL DEFAULT(datetime('now','localtime')),"del_flg" INT DEFAULT(0))
2.插入数据 insert into push_msg('uid','title','erro','content','operation','payload','hasRead') values('1179','测试','测试执行失败事务是否会回滚','测试批量6
16:22:38.924 接收时间:2019-09-12 10:49:41','pushMessage','{"operation":"pushMessage","sendTime":1568256581816}','0')
[结果]
控制台报 Uncaught SyntaxError: Invalid or unexpected token
[期望]
应该跟苹果手机一样,进入plus.sqlite.executeSql方法的fail的回调函数;
4 个回复
6***@qq.com (作者)
用苹果手机真机调试,能够进入fail的回调函数,安卓手机不行; IDE为 hbuilder x
DCloud_Android_zl
麻烦提供一个简单的demo。
1***@qq.com
我也遇到了类似情况,新手,用sqlite执行insert语句不执行也不报错,然后我把sql语句移到方法外面就报错了,变量不存在。如果你们也遇到了不执行不报错的情况,可以按我的方法试试
uniapper - abc
检查一下你的代码有无语法错误吧。 或者贴出来让大家帮你检查一下