Viccy
Viccy
  • 发布:2019-07-09 09:34
  • 更新:2020-03-03 11:57
  • 阅读:3137

【报Bug】sqlite一次executeSql执行多条sql语句在安卓平台上只会执行第一条sql

分类:HTML5+

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]
sqlite 执行sql语句,如果一次执行多条sql语句,只会执行第一条。例如:create table if not exists table_A("where" CHAR(110),"location" CHAR(100),"age" INT(11));create table if not exists table_B("where" CHAR(110),"location" CHAR(100),"age" INT(11));
真机调试时,在ios系统上可以创建两个表,而在安卓上只能创建表table_A,第二条sql不会执行

重现步骤

[结果]
两条sql一次执行,只会执行第一条sql
[期望]
执行以;分割的两个sql

uni-app运行环境说明

运行在app端

[QQ]
467164721

2019-07-09 09:34 负责人:无 分享
已邀请:

最佳回复

DCloud_Android_zl

DCloud_Android_zl

问题已确认,HBuilderX2.5.5+版本已修复。
注意:Android平台不支持SQL语句中使用“;”分割多条命令,要运行多条命令请使用字符串数组参数

plus.sqlite.executeSql({  
  name: 'first',  
  sql: [  
    "insert into database values('北京','安乐林','11')",  
    "insert into database values('上海','浦东新区','22')"  
  ],  
  success: function(e){  
    console.log('executeSql success!');  
  },  
  fail: function(e){  
    console.log('executeSql failed: '+JSON.stringify(e));  
  }  
});
  • 1***@qq.com

    现在 安卓 数据库 sqlite insert 执行成功 数据库加不上东西

    2020-01-04 22:17

  • 1***@qq.com

    hx版本 2.5.1 + 的 sql 执行成功数据库无法添加东西

    2020-01-04 22:24

  • 7***@qq.com

    回复 1***@qq.com: 我刚也升级了,没发现你说的问题,可以正常保存,你可以在检查检查,不过唯一的其它毛病就是针对单条sql,以前我总在单条末尾习惯性的写了个分号,现在全报错了,额。。。然后我删掉分号就可以了,毕竟只是一条sql,多条我到没试,因为我一般分开写executeSql

    2020-01-04 23:00

  • 2***@qq.com

    更新了最新版本,因为以;分割的两个sql,导致数据库现在插入不了;。报错怎么搞?我插入:<div style="display: none;"></div>就一直报错

    2020-01-06 16:11

  • DCloud_Android_zl

    回复 2***@qq.com: 将特殊字符转义

    2020-01-06 17:21

  • 2***@qq.com

    回复 DCloud_Android_zl: 用了\转义都不行。还是会认为是两条sql,还有其他方法转义吗?求指教

    2020-01-06 18:13

  • DCloud_Android_zl

    回复 2***@qq.com: 最新alpha已修复,更新到最新版即可

    2020-01-11 12:02

  • 2***@qq.com

    回复 DCloud_Android_zl: 好的,谢谢

    2020-01-12 15:49

  • 5***@qq.com

    现在是可以执行多条,但是会进入fail 回调方法。版本:HX 2.5.1.20200103,需要升级到alpha 版本?

    2020-01-18 10:16

  • 汉斯小子

    之前是修复了,但是新版本“HBuilderX 2.6.0.20200223”中,这个问题又出现了。

    2020-02-26 16:07

  • 余温半暖

    value值比较多,怎样拼接字符串好呢?webSQL是'SELECT * FROM TABLE WHERE logid = ? ', [logid] 这样拼接的,这里用怎么拼接好呢?

    2020-08-25 18:12

天空微算

天空微算

我也遇到这个问题,请问解决了吗

1***@qq.com

1***@qq.com

我也遇到这个问题,请问解决了吗

6***@qq.com

6***@qq.com

我也遇到这个问题,请问解决了吗

4***@qq.com

4***@qq.com

我也遇到这个问题,请问解决了吗
没人看吗

汉斯小子

汉斯小子

之前是修复了,但是新版本“HBuilderX 2.6.0.20200223”中,这个问题又出现了。

  • happy

    真是蛋疼啊,我也是遇到这个问题了,还好之前看过升级日志说解决过这个问题,要不然估计又得花一天测试才能找到问题。

    2020-03-02 00:03

  • DCloud_App_Array

    Android平台不支持SQL语句中使用“;”分割多条命令,要运行多条命令需使用字符串数组参数。

    参考:https://www.html5plus.org/doc/zh_cn/sqlite.html#plus.sqlite.executeSql

    2020-03-03 11:45

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