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+'%'");

   這樣子就可以順利查到資料了。

    

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 波羅、希夏普2020 的頭像
    波羅、希夏普2020

    希夏普2020的程式天地

    波羅、希夏普2020 發表在 痞客邦 留言(0) 人氣()