2008年9月6日

如何 SqlParameter 裡用 like 關鍵字

今天趁假日要趕快來消化一下RSS訂閱的文章
愈訂愈多 然後積的文章量也就愈來愈大 orz

剛剛在 Jeff 大的 blog 中看到這篇

所以坎尼想到了平常處理 like 指令時 用Parameter的方式
第一次做的時候 對 SqlParameter 能不能用在 like 也有些疑問
經過反覆試驗後 下面就是現在坎尼常用的方法

第一個要點是 SQL 指令
一般來講會這麼下指令 select * from test where id like 'm%'
那變成參數式的寫法要怎麼寫呢?
坎尼只是很簡單的用了 select * from test where id like @id

「百分比符號哩?」『挖藏起來啊~』「金GY捏~~拿出來看看好不好?」

先來看部份程式碼抓圖 (其他不重要的就不抓了

坎尼只是把百分比符號在 addValue 時給加上
當然 各位也可以加上 前後 % 或是 ____ (以下是執行畫面

輸入 t 當然就是只有 t 開頭的客戶會出現

都不輸入就只會跑 % 所以是列出所有的客戶名單


這個做法坎尼用了數十次 目前還未發生副作用
如果有人發現副作用 請來信告知 :p

2 則留言:

ikaritw 提到...

試試把欄位改成char或nchar,加上%就會找不到資料囉。
它會很貼心的在查詢字串中補足欄位長度的空白。

坎尼 提到...

hello wavej,

您指的是 SqlParameter 給與的參數型別設定吧 :D

char類型本來就是固定的長度,不足部份 ADO.NET Provider 會補足空白,這是正常的行為喔

至於資料庫裡原本的型別,和查詢給的 Parameter 型別是兩回事,這個坎尼研究一下再另開一篇做說明 :)

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D