您好,登錄后才能下訂單哦!
這篇文章的內(nèi)容主要圍繞大數(shù)據(jù)報(bào)表怎么做模糊查詢進(jìn)行講述,文章內(nèi)容清晰易懂,條理清晰,非常適合新手學(xué)習(xí),值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!
在數(shù)據(jù)查詢系統(tǒng)中,我們常常會(huì)遇到精準(zhǔn)查詢和模糊查詢。我們知道,對(duì)于關(guān)系數(shù)據(jù)庫(kù),使用精準(zhǔn)查詢可以直接在 sql 里面使用“where 字段 = 參數(shù)值”來(lái)過濾對(duì)應(yīng)的數(shù)據(jù),而要實(shí)現(xiàn)模糊查詢,我們使用的就是 like 的形式。那么,在報(bào)表里面該如何使用 like 方式實(shí)現(xiàn)模糊查詢來(lái)過濾數(shù)據(jù)呢?
下面,我們結(jié)合hsql 數(shù)據(jù)庫(kù)中的客戶表,來(lái)做一個(gè)模糊查詢的示例。
例如:在下拉框中通過模糊查詢顯示所有姓名里面帶有“王”字的聯(lián)系人,當(dāng)用戶選擇后進(jìn)行精準(zhǔn)查詢。并且結(jié)果列表在第一次展現(xiàn)全部數(shù)據(jù)。如下圖所示:
這是一種常見而且體驗(yàn)不錯(cuò)的報(bào)表需求,我們?cè)撊绾螌?shí)現(xiàn)呢?
操作非常簡(jiǎn)單的哦,下面我們一起來(lái)動(dòng)手操作一下吧 ~
第一步:連接數(shù)據(jù)源
先連接我們自帶的 demo 數(shù)據(jù)庫(kù),別忘了先啟動(dòng)示例數(shù)據(jù)庫(kù)哦 ~
第二步:新建數(shù)據(jù)集
1)Sql 語(yǔ)法為:SELECT * FROM 客戶 WHERE 客戶. 聯(lián)系人姓名 like ? or ? is null(因?yàn)槲覀兿氲谝淮尾樵兦霸诮Y(jié)果列表中展現(xiàn)全部數(shù)據(jù),所以我們需要寫上 or ? is null ,也就是參數(shù)為空的時(shí)候查詢?nèi)繑?shù)據(jù)。)
2)設(shè)置數(shù)據(jù)集的參數(shù)。格式為 ”%”+ 參數(shù)名稱 +”%”。 (注意:我們對(duì)同一個(gè)字段“聯(lián)系人姓名”寫了兩個(gè)問號(hào),所以需要寫兩個(gè)相同的參數(shù)。)
如下圖所示:
第三步:設(shè)計(jì)報(bào)表并在報(bào)表—參數(shù)增加跟數(shù)據(jù)集名稱相同的參數(shù):
第四步:保存報(bào)表,并將報(bào)表名稱設(shè)置為 test.rpx
第五步:建立參數(shù)模板
1) 新建數(shù)據(jù)集,只取出來(lái)客戶表中的聯(lián)系人姓名字段即可。
2) 為 B1 單元格設(shè)置單元格編輯風(fēng)格和 web 變量名稱
第六步:保存參數(shù)模板,并設(shè)置報(bào)表名稱為 test_arg.rpx
(注意:參數(shù)模板的名稱要跟主報(bào)表的名稱一致,并且加上 _arg 。然后將參數(shù)模板保存在和主報(bào)表相同的目錄下面)
第七步:?jiǎn)?dòng) tomcat,發(fā)布報(bào)表。
展現(xiàn)效果為:
試驗(yàn)一下,我們?cè)趩卧褫斎胍粋€(gè)“王”字,可以看到,下拉框中會(huì)對(duì)應(yīng)顯示所有姓名中包含“王”的聯(lián)系人。
直接點(diǎn)擊查詢展現(xiàn)效果為:
或者是輸入“王”之后,選擇下拉清單里面的任何一個(gè)聯(lián)系人,點(diǎn)擊查詢即可過濾數(shù)據(jù)。
噓 ~~ 最后告訴大家一個(gè)小秘密,由于數(shù)據(jù)庫(kù)驅(qū)動(dòng)的問題,如果要查詢的聯(lián)系人姓名字段中有 null 數(shù)據(jù),在第一次查詢?nèi)繑?shù)據(jù)時(shí)可能會(huì)查不到全部的數(shù)據(jù),也就是為空的數(shù)據(jù)無(wú)法顯示。這時(shí),我們需要將模糊查詢的數(shù)據(jù)集的參數(shù)改為如下格式:(第二個(gè)參數(shù)不用百分號(hào)拼接的方式去寫,其他不需要改動(dòng))。
感謝你的閱讀,相信你對(duì)“大數(shù)據(jù)報(bào)表怎么做模糊查詢”這一問題有一定的了解,快去動(dòng)手實(shí)踐吧,如果想了解更多相關(guān)知識(shí)點(diǎn),可以關(guān)注億速云網(wǎng)站!小編會(huì)繼續(xù)為大家?guī)?lái)更好的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。