如何通過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);
分頁預覽模板,點擊按鈕,效果如下:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。