finereport报表调用sql的存储过程?????能不能像SQLserver 那样简单的供语法,
搜索论坛,文档,没有一个简要的回答下,连调用都不知道在哪里调用,调用的语法是什么。。。。很无语。。
填报的做完了,在哪里能调用SQL的存储过程,将对应的列变量传入存储过程当作变量???
做了如上测试,并没有效果
调用存储的问题已解决,怎么传入每行单元格的值做为参数,还是没有解决,请知道的大神指教一下!!!
js调用存储过程获取返回值:
按钮添加点击事件
js代码:
var sql = "调用过程语句";
var a = FR.remoteEvaluate('SQL("数据库", "' + sql + '", 1, 1)');
数据集调用存储过程代码:
SET NOCOUNT ON
EXEC [dbo].[过程名]
注意set nocount on ,sqlserver最好加上否则容易出错
你的sql怎么写 数据集里面就怎么写。
js代码写事件调用
顺便补充一下有关 SQL 函数调用存过
若是调用数据库存储过程取数,建议采用官方只支持查询语句 select 进行取数,其他写法(例如下面的写法), 返回的结果不能保证,不建议使用 :
=sql("dbname","{call 存储过程名 (参数1,参数2,...)}",1,1)
=sql("dbname","exec 存储过程名 参数1,参数2,...",1,1)
注:参数如果是字符串的话,参数需要用英文单引号引起来如:'参数1'。没有参数的需用?补全,例如=sql("140","{call SCOTT.P_EMP (?) }",2,2)
var text="123";
var sql="SQL(\"数据连接名\",\"{call 存储过程名('"+text+"',?)}\",1,1)";
var a=FR.remoteEvaluate(sql);
alert(a);
--存储过程要有输出,哪怕过程不用输出也要写个假数据输出