當我們在做報表查詢時,可以通過參數來控制查詢的數據,但有時又想不輸入參數時查所有數據,這個能夠實現(xiàn)嗎?答案是肯定的,沒問題,只要在sql里設置條件時把NULL加上就可以了,基本的語句就是:id=? or ? is null。
皕杰報表中輸入參數為空時要取全部數據也是用在sql加條件 id=? or ? is null形式,但是有幾種情況這種方法并不適用。
(一)當參數類型為數組時sql語句用in(?)形式,如果寫id in (?) or ? is null,如果輸入多個參數時會報語法錯誤。
解決辦法:
sql語句寫成 SELECT * FROM test where id in (?) or ?=’!EOF’,然后在對應的第二個數據集參數處寫if(@參數名==null,”!EOF”,”!EMF”)即可。
例:


(二) informix數據庫不支持 id=? or ? is null語法,同樣sql中寫 id=? or ?=’!EOF’, 然后在對應的第二個數據集參數處寫if(@參數名==null,”!EOF”,”!EMF”)即可。
(三) DB2數據庫不支持 id =? or ? is null語法。
解決方法同第二種方法。