• <menu id="w2i4a"></menu>
  • logo Fastreport.Net 教程2018(完結(jié))

    文檔首頁>>Fastreport.Net 教程2018(完結(jié))>>如何在FastReport.Net中使用動(dòng)態(tài)查詢

    如何在FastReport.Net中使用動(dòng)態(tài)查詢


    【下載FastReport.Net最新版本】

    FastReport.Net構(gòu)建的大多數(shù)用戶報(bào)表從SQL DBMS接收數(shù)據(jù),并希望在他們的報(bào)表中利用Sql。在本文中,我們將了解如何在創(chuàng)建報(bào)表數(shù)據(jù)源時(shí)使用動(dòng)態(tài)查詢。 此類查詢用于繞過SQL語言的語法限制,但是由于次優(yōu)查詢計(jì)劃,這些請求可以執(zhí)行得更長,并且需要以不同方式構(gòu)建安全性。但動(dòng)態(tài)查詢很方便,因此在FastReport中使用它們。 假設(shè)用戶希望在顯示報(bào)表之前過濾數(shù)據(jù)似乎很簡單,但是,如果要更改將過濾數(shù)據(jù)的字段?就可以使用動(dòng)態(tài)查詢,可以向查詢主體添加變量,其中一個(gè)是強(qiáng)加條件的字段名稱,第二個(gè)是該字段的值。

    創(chuàng)建報(bào)表,以前,需要?jiǎng)?chuàng)建兩個(gè)報(bào)表參數(shù),添加字符串類型的ParamName和ParamValue?,F(xiàn)在創(chuàng)建與數(shù)據(jù)庫的連接,我們連接到SQL server:

    VectorBarcodes

    在選擇表格的階段,單擊Add SQL query...按鈕,運(yùn)行查詢向?qū)В?/p>

    VectorBarcodes

    設(shè)置future表的名稱,然后單擊Next。

    VectorBarcodes

    手動(dòng)輸入動(dòng)態(tài)查詢,此查詢有兩個(gè)參數(shù):@Param1——字段名稱,@ Param2——字段值,在這里,可以添加第三個(gè)參數(shù)——操作符號(=,in,<,>,<,>),但在本文中設(shè)置兩個(gè)參數(shù),由于查詢表示為文本值,因此我們使用Execute語句來執(zhí)行,單擊“Next”按鈕。

    VectorBarcodes

    在參數(shù)定義窗口中,使用與SQL查詢中相同的名稱創(chuàng)建兩個(gè),必須指定Expression。對于第一個(gè)參數(shù),這是[ParamName],對于第二個(gè)參數(shù)——[ParamValue],這些是我們之前創(chuàng)建的報(bào)表參數(shù)名稱,單擊“Finish”按鈕,得到了數(shù)據(jù)來源:

    VectorBarcodes

    將字段從Product表拖到band的數(shù)據(jù)中。

    VectorBarcodes

    現(xiàn)在,讓我們添加一個(gè)對話框表單,將兩個(gè)參數(shù)從“Data”窗口拖到它,現(xiàn)在我們可以指定字段的名稱及其過濾樣本的值,運(yùn)行報(bào)表。

    VectorBarcodes

    設(shè)置參數(shù)值,然后單擊“Ok”。

    VectorBarcodes

    得到了需要的記錄,嘗試在不同的字段上過濾報(bào)表,再次運(yùn)行報(bào)表。

    VectorBarcodes

    結(jié)果如下圖所示:

    VectorBarcodes

    因此,可以使用動(dòng)態(tài)查詢來幫助用戶避免不必要的代碼或報(bào)表設(shè)置,如果需要處理大量數(shù)據(jù),則可以通過在接收數(shù)據(jù)的過程中切斷不必要的數(shù)據(jù)來加快報(bào)表生成的時(shí)間。

    FastReport教程合集
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();