finereportsql
『壹』 帆軟sql 語句優化
SELECT DISTINCT * --(這個*一定要寫具體欄位,有助於提高查詢速度)
FROM dbo.[dksj],dbo.[pkhlb1]
WHERE dbo.[dksj].證件號碼 *= dbo.[pkhlb1].證件號碼
AND 證件號碼 = '${sfz}'
『貳』 FineReport怎樣與SQL連接啊!小弟很急在線等
報表就是向資料庫裡面錄入數據和把資料庫里的數據展示出來的。所以在開始設計報表之前,還必須要建立FineReport報表模板設計器與資料庫之間的連接。
在安裝好FineReport解壓文件後,伺服器是默認已連接自帶資料庫的,因此只要檢測下是否連接正常就可以了。
啟動設計器後,在設計器最上方的菜單欄當中,選擇伺服器菜單,在該下拉菜單當中選擇定義數據連接,彈出一個對話框。如下圖:
最後點擊測試連接按鈕,系統彈出連接成功的消息框表明資料庫連接正常。
『叄』 求助,FineReport使用SQL數據集參數
大致的步驟就是先取出所有數據,再進行過濾,取數,過濾。
簡單應用:SELECT * FROM 銷量 where 地區 = '${地區}'
帶公式的應用:SELECT * FROM 訂單 where 1=1 ${if(len(area) == 0,"","and 貨主地區 = '" + area + "'")} ${if(len(province) == 0,"","and 貨主省份 = '" + province + "'")}
具體步驟如下:
1、打開報表
2、定義數據源參數
修改數據集sql語句為:SELECT * FROM 銷量 where 地區 = '${地區}',點擊下方的刷新按鈕顯示出參數,默認值設置為「華北」
3、過濾數據
若參數地區的值為華北,那麼${地區}這個參數宏最終的值就是華北,數據集sql即為:SELECT * FROM 銷量 where 地區 = '華北'
4、製作參數界面
5、保存報表並發布
『肆』 怎麼查看FineReport 報表執行的SQL
你要看報表的sql執行都會在後台顯示的,你只需要將相應的日誌級別設置成info級別就可以了。
『伍』 finereport保存後的cpt文件里沒有sql語句,怎麼回事
你建的是伺服器
數據集
吧,只有伺服器數據集才會保存在datasource.xml建報表數據集,sql就會保存在cpt中了
『陸』 怎麼查看FineReport 報表執行的SQL
設置日誌輸出級別為INFO級別,就能在控制台輸出SQL了,設置日誌輸出級別的控制文件位於WebReport\WEB-INF\resources\config.xml,將(第3-4行)默認的
<ServerLogLevel>
<![CDATA[WARNING]]></ServerLogLevel>
改為
<ServerLogLevel>
<![CDATA[INFO]]></ServerLogLevel>
注意更改後需要重啟WEB伺服器才能生效!
『柒』 新人求助,關於FineReport的sql中in條件查詢
關於FineReport的sql中in條件查詢
我覺得應該把復選框做成一個控制項且有參數,然後在數據字典用SQL的方法查詢,這樣才能用到樓主的sql:select * from where city_name in (參數)當然參數的寫法不是這樣寫,請查看參數寫法。
『捌』 finereport sql參數過濾問題
select表B.xkflm=case表A.xkflmwhennullthennull
else表A.xkflm
endfrom表Aleftjoin表Bon條件
我不知道你想要的是不是這個樣子。
『玖』 FineReport怎樣與SQL連接啊!小弟很急在線等
在FR工具的伺服器-->自定義伺服器中配置您的服務信息,如圖:,然後在模板數據集點擊「+」號新增資料庫查詢,點擊保存,然後在新建的報表中拖入你想要的欄位就可以了
『拾』 求助,FineReport使用SQL數據集參數
類似通信、監控行業,每天都有海量數據生成,資料庫表中總數據量非常大,而報表中往往只要當天的幾百條數據就可以了。
如果使用報表參數,就需要先取出所有數據,再進行過濾,取數+過濾,將消耗大量時間;
簡單應用
可以在定義數據集sql的時候,直接使用where條件過濾出需要的數據,從而大大縮短報表取數時間,類似下面的sql:
SELECT * FROM 銷量 where 地區 = '${地區}'
帶公式的應用
數據集sql中可以使用參數宏${}動態地生成過濾條件,${}中的語句在FineReport報表中執行,將${}的執行結果與sql語句拼接起來形成最終的查詢語句,傳遞給資料庫執行,可以使用多個${},如下語句:
SELECT * FROM 訂單 where 1=1 ${if(len(area) == 0,"","and 貨主地區 = '" + area + "'")} ${if(len(province) == 0,"","and 貨主省份 = '" + province + "'")}
${}中可以使用所有內置的FR公式,如if函數;