JS調(diào)用某段SQL語句的方法
如何通過JS調(diào)用某段SQL語句,這樣的需求在報表、數(shù)據(jù)平臺開發(fā)中很常見。以報表平臺FineReport開發(fā)為例,例如在點(diǎn)擊某個按鈕之后,來判斷一下數(shù)據(jù)庫條數(shù),再決定下一步操作。那這在后臺如何實(shí)現(xiàn)呢?
解決思路
實(shí)現(xiàn)這個功能,首先需要了解Finereport內(nèi)置的公式,SQL函數(shù),這個肯能大家都懂,就不做介紹了。
調(diào)用FineRepor的內(nèi)置公式:FR.remoteEvaluate("具體公式"),返回值為:這個具體公式的結(jié)果。
例如:
var a = FR.remoteEvaluate("sum(1+2)");
這時變量a的值就是3了。
這里要注意的是,由于在SQL函數(shù)中,需要多次用到雙引號("),所以大家要注意用反斜杠(\)進(jìn)行轉(zhuǎn)義:
var sql = "SQL(\"FRDemo\",\"Select count(*) fromsales_basic\",1,1)"
或者為了降低轉(zhuǎn)義帶來的復(fù)雜度,可以寫成如下格式:var sql="select count(*) from sales_basic"; varres=FR.remoteEvaluate('sql("FRDemo","'+sql+'",1,1)');
在參數(shù)面板添加一個按鈕,在按鈕的點(diǎn)擊事件中寫如下SQL:
var sql ="SQL(\"FRDemo\",\"Select count(*) fromsales_basic\",1,1)" alert(sql); var Count = FR.remoteEvaluate(sql); alert(Count);
分頁預(yù)覽模板,點(diǎn)擊按鈕,效果如下:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript實(shí)現(xiàn)簡單小鋼琴有聲彈奏效果
用HTML5+javascript實(shí)現(xiàn)的小鋼琴,按下鋼琴鍵上的相應(yīng)字母用或用鼠標(biāo)點(diǎn)擊鋼琴鍵發(fā)聲,javascript代碼包含了對鼠標(biāo)按下、移動和松開,以及鍵盤按下的事件監(jiān)聽2024-02-02Webpack 之 babel-loader文件預(yù)處理器詳解
這篇文章主要介紹了Webpack 之 babel-loader文件預(yù)處理器詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03JavaScript indexOf的第二個參數(shù)用法
indexOf 是我們非常熟悉的一個方法,它可以用來獲取某一個元素在一個數(shù)組里的位置,我們一般就會使用 array.indexOf(element) 的方法來進(jìn)行使用,但是,大家有沒有使用過 indexOf 的第二個參數(shù)呢?本文將給大家介紹一下indexOf的第二個參數(shù)用法,需要的朋友可以參考下2024-02-02一個不錯的字符串轉(zhuǎn)碼解碼函數(shù)(自寫)
一個不錯的字符串轉(zhuǎn)碼解碼函數(shù),自己寫的,有需要的朋友可以參考下2014-07-07深入理解JavaScript中的宏任務(wù)和微任務(wù)機(jī)制
JavaScript中的任務(wù)分為宏任務(wù)和微任務(wù),它們的執(zhí)行順序會影響代碼的執(zhí)行結(jié)果。了解它們的機(jī)制可以幫助我們更好地理解事件循環(huán)和異步編程,避免出現(xiàn)一些意想不到的錯誤2023-05-05實(shí)現(xiàn)表格中行點(diǎn)擊時的漸擴(kuò)效果!
實(shí)現(xiàn)表格中行點(diǎn)擊時的漸擴(kuò)效果!...2006-12-12js中net::ERR_FILE_NOT_FOUND報錯的解決
本文主要介紹了js中net::ERR_FILE_NOT_FOUND報錯的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07