ASP.NET SqlCommand中參數化查詢使用到 'LIKE'的寫法
在ASP.NET中會需要使用參數化查詢來避免Sql injection,在sqlcommand中不能出現'這種東西,不然會容易被攻擊。在做參數化查詢時如果碰到Like指令時,就要用特別的寫法來做,不能直接寫。在這裡我以C#為例。
原本SQL指令是像這樣:
string selStr = String.Format(@"Select * FROM beautyData where nickname like '%@nickname%'")
然後在後面給@nickname一個值,像這樣:
SqlDataSource1.SelectParameters.Add("nickname", tbNickname.Text);
然後你在執行的時候就會發現出錯了,根本就沒辦法把tbNickname.Text裡面的內容給帶入,根本就甚麼資料都沒有查到,一片空白,這時候要怎麼做呢?
這時候在SQL指令那裏做一點修改,如下:
string selStr = String.Format(@"Select * FROM beautyData nickname like '%'+@nickname+'%'");
這樣子就可以順利查到資料了。
全站熱搜
留言列表