Re: [問題] 關於SQL使用參數化查詢,combobox.selec …
: 查詢條件的輸入欄位有四個分別為兩個textbox員編,姓名及兩個combobox職稱,班別
: 我想要做的功能是輸入任何一個欄位條件查詢皆可
: 也就是說可以輸入tb1 ->查詢資料 或者tb1 and tb2 ->查詢 或四個欄位條件都選
: (就是畫面有四個欄位可以給user輸入條件後查詢結果,最少一個條件,最多四個)
: 但我下SQl目前用select * from [table] where 員編=@ID and ....group by 員編
: 如果用and:tb1有輸入tb2沒輸入就沒辦法以tb1去查詢到結果,有員編001但不會show
: 如果用or:則tb1輸入員編001,tb2輸入Melvin 會跑出兩筆結果,但結果應該要無此資料
要先問DBMS!? 以下以MSSQL為例
SELECT *
FROM Table
WHERE (LEN(@tb_1) = 0 OR 員編 = @tb_1)
AND (LEN(@tb_2) = 0 OR 姓名 = @tb_2)
AND (LEN(@tb_3) = 0 OR 職稱 = @tb_3)
AND (LEN(@tb_4) = 0 OR 班別 = @tb_4)
LEN是MSSQL判斷字串長度 如果沒給參數(空值) LEN = 0 就直接讓那條件為True
這樣一樣可以直接給四個參數 但給之前記得Trim一下就是了
不曉得這樣是不是符合你的需求!?
--
◢ █◣ ◢◢◣ ◢◣◥████
◢███◣ ◢ ◣ █╴█╴█ ████
███▉█ ◢█◢ ◣◢ ██ ≡███≡ ◥█
███▉█ ◢▉█ ◢██ ███ ◢██ ◢██ ███ ◥█﹋█◤ ◎ █
█▇▇▇◤ █▉█ █▇▇ █▇▏ ▉▇▇ █▉█ ██ ▉▉█▏▏/ ◢█
██▇▏◣ █▇█ ▇▇█ ██▏ ███ █▇█▎██ █▉▉█▏▏█ rushcat
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.128.113
※ 編輯: rushcat 來自: 219.87.128.113 (06/08 13:23)
推
06/08 22:44, , 1F
06/08 22:44, 1F
→
06/09 08:11, , 2F
06/09 08:11, 2F
推
06/10 00:34, , 3F
06/10 00:34, 3F