C# sql語句拼接時 like情況的防sql注入的用法


  今天下午同事問我一個比較基礎的問題,在拼接sql語句的時候,如果遇到Like的情況該怎么辦。

  我原來的寫法就是簡單的拼接字符串,后來同事問我如果遇到sql注入怎么辦。我想了下,這確實是個問題。

  剛在網上找了下相關的說明,原來是這樣寫的。

  如這樣一個sql語句:

  

select * from game where gamename like '%張三%'

 

  用c#表示的話:

            string keywords = "張三";
            StringBuilder strSql=new StringBuilder();
            strSql.Append("select * from game where gamename like @keywords");

            SqlParameter[] parameters=new SqlParameter[]
            {
                new SqlParameter("@keywords","%"+keywords+"%"), 
            };

這里雖然采用了仍然是用% 來寫,但是可以有效過濾sql注入的情況,還是挺簡單實用。

 

是個小知識點,希望對你能有所幫助! ^_^


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM