报表接收存储过程传递的数据,并在界面弹框显示

比如我在点击查询按钮调用一个存储过程,存储过程告诉我这条数据已经存在了,我想将这个消息在报表界面显示出来,请问该如何实现

FineReport 小白薯 发布于 2019-3-21 13:56
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
皮卡皮卡丘Lv4中级互助
发布于2019-3-21 14:57(编辑于 2019-3-21 15:37)
//1.首先按钮中添加JS点击事件,可以用JS调用存储过程, 
var sql = "{CALL dbo.cun_chu_guo_cheng ('${ "+ 参数 +" }' )}";  //dbo.cun_chu_guo_cheng存储过程
var result = FR.remoteEvaluate('sql("JDBC1","' + sql + '",1,1)');  //JDBC1需要数据库连接一致
if(result ==1)
{
            alert("无重复!"); 
}
else {alert("重复!");}


  • 小白薯 小白薯(提问者) 非常感谢,完全解决了我的问题,学习了
    2019-03-21 15:48 
  • 皮卡皮卡丘 皮卡皮卡丘 回复 小白薯(提问者) 解决就好
    2019-03-21 15:49 
  • 用户H8465063 用户H8465063 dbo.cun_chu_guo_cheng是存储过程连接名 JDBC1代表什么
    2021-03-29 14:27 
最佳回答
0
KevinGaoLv2初级互助
发布于2019-3-21 14:02

直接写一个储存过程,如果数据存在就直接返回你想要的数据,然后再定义一个储存过程的数据集,把返回的数据拖到报表中就可以啦

最佳回答
0
monvzhileiLv6初级互助
发布于2019-3-21 14:35
var sql="exec fr_zh1_w '"+xxxx+"'

alert(sql);

var v0=FR.remoteEvaluate('=SQL("local","'+sql+'",1,1)');//执行存储过程

if (v0 == 0){alert("数据重复");}

if (v0 == 1){alert("找不到数据");}

  • 4关注人数
  • 604浏览人数
  • 最后回答于:2019-3-21 15:37
    请选择关闭问题的原因
    确定 取消
    返回顶部