大家都知道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));
注意對比紅色字體的部分,就是多了一對單引號,就查不出來了…… 至於為啥?自己慢慢領悟吧,哈哈哈哈
