js执行update问题

问题已解决:

var print = TBGD.replace(/\n/, "','");

换成   var print = TBGD.replace(/\n/g, "','");

把文本域的参数传到sql in里面修改表里面的数据,能成功修改,但是多个工单号的话只改了第一个工单号的数据,请问这情况要怎么解决。

image.png

var TBGD = this.options.form.getWidgetByName("TBGD").getValue();

var print = TBGD.replace(/\n/, "','");

var sql = "UPDATE MY04_DMXFGD SET 外呼处理结果 = '已解决' where 工单流水号 in ('" + print + "')"

FR.remoteEvaluate('sql("FRDemo","' + sql + '",1)');

image.png

FineReport 用户jGnXs7014103 发布于 2024-8-28 10:21 (编辑于 2024-8-28 10:50)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2024-8-28 10:26(编辑于 2024-8-28 10:29)

alert(print);

看看是不是数组

--------

var print = TBGD.toString().replace(/\n/, "','");

最佳回答
1
快乐星光Lv5中级互助
发布于2024-8-28 10:24

帆软文档里面说sql函数不支持更新和删除,实在不行就把update语句写在存储里面,然后调用存储来执行。注意存储要返回一个值(select 1 revalue),不然可能会执行两遍。

  • 用户jGnXs7014103 用户jGnXs7014103(提问者) 好的,我试试
    2024-08-28 10:33 
  • 快乐星光 快乐星光 回复 用户jGnXs7014103(提问者) 看来你的print 数值不对,你需要查询先办法处理TBGD ,把他变成:GX-011','GX-012','GX-013 模式的字符串。我感觉你就不应该用文本域控件,因该用多选复选控件-返回字符串-分隔符 ','
    2024-08-28 10:51 
  • 用户jGnXs7014103 用户jGnXs7014103(提问者) 回复 快乐星光 已解决,感谢回复
    2024-08-28 10:52 
  • 2关注人数
  • 270浏览人数
  • 最后回答于:2024-8-28 10:50
    请选择关闭问题的原因
    确定 取消
    返回顶部