如何通过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);

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