FineReport11如何用JS调用MySQL存储过程

我的存储过程:

CREATE DEFINER=`root`@`%` PROCEDURE `SplitMonthlyToDaily`(

IN p_ym VARCHAR(10), 

IN p_creator VARCHAR(255)

)

我用过的,调用不成功的JS代码:

//var sql="exec SplitMonthlyToDaily '"+p_ym+"','"+p_creator+"'";

//var res=FR.remoteEvaluate('=sql("填报_测试","'+sql+'",1,1)');

//var sql ="begin SplitMonthlyToDaily('"+ p_ym+"','"+ p_creator+"');end;";

//console.log(sql);

//FR.remoteEvaluate('=SQL("填报_测试","'+sql+'",1,1)');

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

mysql使用call调用存储,有参数的话就类似下面。就行了。我测试我电脑这样mysql是可以的!

var mycode=this.options.form.getWidgetByName('mycode').getValue(); //获取参数

var mydate=this.options.form.getWidgetByName('mydate').getValue(); 

var STATUS=this.options.form.getWidgetByName('STATUS').getValue(); 

var sql="call test_aa_cc ('"+mycode+"','"+mydate+"','"+STATUS+"')";

var res=FR.remoteEvaluate('=sql("dbbasedata","'+sql+'",1,1)');

  • STLilly STLilly(提问者) 成功了,万分感谢!!!另外,问一句,这里调用的时候是不是不分出参入参,只要是参数,就这样缀在后面
    2024-11-14 09:27 
  • STLilly STLilly(提问者) 我自己写了一个带出参的: CREATE DEFINER=`root`@`%` PROCEDURE `GetNumTest`( IN input_ym VARCHAR(10), OUT year_count INT, OUT month_count INT ) 调用如下: console.log("p_ym:",p_ym); var sql="call GetNumTest('"+p_ym+"',?,?)"; console.log("sql:",sql); var res=FR.remoteEvaluate('=sql("填报_测试","'+sql+'",1,1)'); console.log("res:",res); 调用是成功的,但是,没取到出参,怎么获取出参呢
    2024-11-14 09:53 
  • CD20160914 CD20160914 回复 STLilly(提问者) 这是另一个问题了。
    2024-11-14 10:53 
最佳回答
0
华莉星宸Lv7资深互助
发布于2024-11-13 17:11

先试试在数据库调用存储过程是否可以成功

关闭这个

image.png

----------------

var sql="exec sp_rms_select_0460 "+FUNDCODE+","+DATE+","+STATUS;

var res=FR.remoteEvaluate('=sql("dbbasedata","'+sql+'",1,1)');

  • STLilly STLilly(提问者) 脚本调用限制关闭了,存储过程在数据库运行是成功的,你的这种调用方法试过了,也不行
    2024-11-13 17:16 
  • 3关注人数
  • 116浏览人数
  • 最后回答于:2024-11-13 19:34
    请选择关闭问题的原因
    确定 取消
    返回顶部