隨筆 - 225  文章 - 98  trackbacks - 0
          <2015年5月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          隨筆分類

          相冊(cè)

          報(bào)表工具廠商們

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          統(tǒng)計(jì)圖表FineReport之SQL函數(shù)

          有的時(shí)候希望某個(gè)單元格能夠直接獲取到數(shù)據(jù)庫(kù)中的某個(gè)值,而不是先要定義一個(gè)數(shù)據(jù)集后,再去取數(shù)據(jù)。這時(shí)就可以用函數(shù)Sql()公式,下面講解下其用法。
          1. 公式解釋
          SQL(connectionName,sql,columnIndex,rowIndex):返回的數(shù)據(jù)是從connectionName數(shù)據(jù)庫(kù)中獲取的sql語(yǔ)句的表中的第columnIndex列第rowIndex行所對(duì)應(yīng)的元素。
          connectionName:數(shù)據(jù)庫(kù)名,字符串形式,需要用引號(hào)如"FRDemo";
          sql:SQL語(yǔ)句,字符串形式;
          columnIndex:列序號(hào),整型;
          rowIndex:行序號(hào),整型。
          備注:行序號(hào)可以不寫(xiě),這樣返回值為數(shù)據(jù)列。
          2. 以我們提供的數(shù)據(jù)源FRDemo為例
          2.1 示例(就一般的只獲取某個(gè)字段內(nèi)容)
          從表 STSCORE中,我們可看到第3行第3列的值為Alex,如下:
          現(xiàn)在若要直接在報(bào)表的單元格中顯示數(shù)據(jù)值:Alex,而不通過(guò)先定義一個(gè)數(shù)據(jù)集后,再去取數(shù)據(jù)的方式,這里就可以使用sql()公式,此時(shí)只需在單元格中輸入:=sql("FRDemo","SELECT * FROM STSCORE",3,3)即可,預(yù)覽就可看到Alex值。
          2.2 示例(帶有參數(shù)時(shí)公式的使用)
          帶有參數(shù)形式的時(shí)候,直接在報(bào)表的單元格中獲取數(shù)據(jù)值,寫(xiě)法如下:
          =sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = 'Class1' ",3)
          顯示效果(班級(jí)為Class1的第3列所有值),如下:
          若需要顯示某個(gè)具體值,如:顯示 Jonny 的效果(即班級(jí)為Class1的第3列第4行的值),寫(xiě)法如下:
          =sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = 'Class1' ",3,4)
          若參數(shù)值為變量如為報(bào)表參數(shù)或者是某個(gè)單元格,則寫(xiě)法如下:
          =sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+$class+"' ",3,4)
          =sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+A1+"' ",3,4)
          如果傳遞的參數(shù)是獲取當(dāng)前單元格的值,即用$$$作為參數(shù)時(shí),字符串類型同樣需要拼接單引號(hào),如下:
          =sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+$$$+"' ",3,4)
          注:如果參數(shù)或者單元格值有多個(gè),那么sql函數(shù)的寫(xiě)法如下:
          =sql("FRDemo","SELECT * FROM STSCORE where CLASSNO in ('"+$class+"') ",3,4)
          并且class參數(shù)返回值的分隔符需為',',具體請(qǐng)查看下拉復(fù)選框參數(shù)聯(lián)動(dòng)。


          了解Java報(bào)表工具就從這里開(kāi)始
          主站蜘蛛池模板: 花莲市| 平度市| 阿拉尔市| 和龙市| 嘉荫县| 玛纳斯县| 抚州市| 都匀市| 北辰区| 黄山市| 潼南县| 威远县| 蓝山县| 噶尔县| 北流市| 凤山县| 丽水市| 卓尼县| 子长县| 台山市| 远安县| 西丰县| 镇宁| 义马市| 德安县| 东乌| 永修县| 石河子市| 资阳市| 翁牛特旗| 华阴市| 沧源| 繁昌县| 武穴市| 清苑县| 高安市| 淄博市| 仙桃市| 孝感市| 鹤峰县| 竹溪县|