如何通过JS调用某段SQL语句,这样的需求在报表、数据平台开发中很常见。以报表平台FineReport开发为例,例如在点击某个按钮之后,来判断一下数据库条数,再决定下一步操作。那这在后台如何实现呢?

解决思路

实现这个功能,首先需要了解Finereport内置的公式,SQL函数,这个肯能大家都懂,就不做介绍了。

调用FineRepor的内置公式:FR.remoteEvaluate("具体公式"),返回值为:这个具体公式的结果。

例如:

var a = FR.remoteEvaluate("sum(1+2)");

这时变量a的值就是3了。

这里要注意的是,由于在SQL函数中,需要多次用到双引号("),所以大家要注意用反斜杠(\)进行转义:

var sql = "SQL(\"FRDemo\",\"Select count(*) fromsales_basic\",1,1)"

或者为了降低转义带来的复杂度,可以写成如下格式:var sql="select count(*) from sales_basic"; varres=FR.remoteEvaluate('sql("FRDemo","'+sql+'",1,1)');

在参数面板添加一个按钮,在按钮的点击事件中写如下SQL:

var sql ="SQL(\"FRDemo\",\"Select count(*) fromsales_basic\",1,1)"

alert(sql);

var Count = FR.remoteEvaluate(sql);

alert(Count);

397bbcf19524e07a282efa903177ba3e.png

分页预览模板,点击按钮,效果如下:

3be861afd2116d9002e5a5118a881c8c.png

931dfef76fbd836105a0f0fb33e2e96b.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐