JS调用SQL执行存储过程

image.png

image.png

image.png

image.png

image.png

其实我不是用于查询的,我是用于删除的。想要通过两个参数:报表和月份(bbnum、yuefen)来删除一些记录,比如bbnum="ZB01",yuefen="202006",就是要删除ZB01数据表中时间=202006的所有数据。相应的代码是Delete From ZB01 Where 时间='202006'。

由于delete from语句没有返回值,所以不能直接用sql公式,必须用到存储过程,可是第一次搞这个存储过程又太难了,请大家帮帮忙!

FineReport nhb2318 发布于 2021-8-2 23:14 (编辑于 2021-8-3 09:34)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
zsh331Lv8专家互助
发布于2021-8-3 00:11(编辑于 2021-8-3 09:49)

var sql= "call delbbdate("+bbnum+","+yuefen+")";

——————————————

image.png

  • nhb2318 nhb2318(提问者) 脚本调用早已开启。 另外,你给的那个SQL不对吧,我那存储过程有两个参数,一个是bbnum,一个是yuefen,通过这两个参数查找数据 IN bbnum VARCHAR(20),IN yuefen VARCHAR(6)
    2021-08-03 07:14 
  • zsh331 zsh331 回复 nhb2318(提问者) 更新了;
    2021-08-03 09:49 
  • nhb2318 nhb2318(提问者) 回复 zsh331 存储过程里换成delete from也行吧、?
    2021-08-03 10:12 
  • zsh331 zsh331 回复 nhb2318(提问者) 如果是delete的操作,尽量添加一个select 1 的返回值操作!
    2021-08-03 10:14 
最佳回答
0
IceBall09Lv6中级互助
发布于2021-8-3 08:21

参数写上面试一下

var sql="exec delbbdata '"+bbnum+"','"+yuefen+"' "; var a = FR.remoteEvaluate('=SQL("mydata","'+sql+'",1,1)'); alert(a);

image.png

最佳回答
0
Z4u3z1Lv6专家互助
发布于2021-8-3 09:19

存储过程中执行SQL前加 SET NOCOUNT ON

  • nhb2318 nhb2318(提问者) 加到哪里?
    2021-08-03 09:21 
  • nhb2318 nhb2318(提问者) 你这个代码是sqlserver的,我的是mysql 其实我不是用于查询的,我是用于删除的。想要通过两个参数报表和月份(bbnum、yuefen)来删除一些记录,比如bbnum=\"ZB01\",yuefen=\"202006\",就是要删除ZB01数据表中时间=202006的所有数据。
    2021-08-03 09:32 
  • Z4u3z1 Z4u3z1 回复 nhb2318(提问者) 这个就不是很熟悉了,https://blog.csdn.net/weixin_28884611/article/details/113165588 看一下这个链接 update `MyTestTable` set `Name`=\'people\';select row_count(); -- 输出3(返回修改的行数)
    2021-08-03 09:43 
  • 3关注人数
  • 1042浏览人数
  • 最后回答于:2021-8-3 09:49
    请选择关闭问题的原因
    确定 取消
    返回顶部