如何通过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);
分页预览模板,点击按钮,效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。