大家都知道SQL語句是醬紫的:
正常: select * from [User] where userName like '%admin%'
參數化: select * from [User] where userName like @userName
這樣就查出了包括admin關鍵字的記錄
就是這個簡單的語句,在參數化的時候怎麼也查不出來,去拼like後面的字元串拼成醬紫的:
錯誤: new SqlParameter("@userName", string.Format("%'{0}'%", userName));
錯誤: new SqlParameter("@userName", string.Format("'%{0}%'", userName));
正确: new SqlParameter("@userName", string.Format("%{0}%", userName));
注意對比紅色字型的部分,就是多了一對單引号,就查不出來了…… 至于為啥?自己慢慢領悟吧,哈哈哈哈