存储过程调用问题2

// 禁用按钮防止重复提交

this.setEnable(false);

 

// 获取日期参数

var date = contentPane.parameterEl.getWidgetByName("date").getValue();

// 构建SQL语句

var sql = "CALL FUN_JHCBHS('" + date + "')";

// 异步执行SQL并处理结果

FR.remoteEvaluate('=SQL("lsh","' + sql + '",1,1)', function(result) {

    try {

    alert(result);

        // 处理结果

        if (result === '') {

            FR.Msg.alert("提示", "核算成功!");

        } else {

            FR.Msg.alert("错误", result);

        }

    } catch(e) {

        console.error("处理结果时出错:", e);

        FR.Msg.alert("系统错误", "操作过程中出现异常");

    } finally {

        // 无论成功或失败都要启用按钮(修正此处的拼写错误)

        this.setEnable(true);

    }

}.bind(this));

 这样写法有问题吗,为啥存储过程没执行成功,但是直接

var sql = "CALL FUN_JHCBHS('"+date+"' )";

 setTimeout(FR.remoteEvaluate('=SQL("lsh","' + sql + '",1,1)'),2000);

可以成功

FineReport zjslh1999 发布于 2025-5-13 18:49
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2025-5-13 18:51

https://bbs.fanruan.com/wenda/question/179510.html 参考

注意:存储过程里面最后要返回一个数据集

最佳回答
0
snrtuemcLv8专家互助
发布于2025-5-14 07:51

你要有返回信息,可以参考这个写法

var date = contentPane.parameterEl.getWidgetByName("date").getValue();

// 构建SQL语句

var sql = "CALL FUN_JHCBHS('" + date + "')";

var value;

FR.remoteEvaluateAsync('"=SQL("lsh", "'+sql+ '",1,1)',

 function callback(value) {

   if (value == 0) {

     alert("提交成功");

   } else {

     alert("提交失败\n错误代码:"+value);

   };

 });

  • 2关注人数
  • 26浏览人数
  • 最后回答于:2025-5-14 07:51
    请选择关闭问题的原因
    确定 取消
    返回顶部