这是我写的一个简单查询。为了防止SQL注入,最常用的方法是什么?
string selectQuery = "select [ID] from [myDB].[dbo].[myTable] where [myName] = '" + user.globalUserName + "'";
答案 0 :(得分:3)
您可以使用@
来定义参数,如下所示:
string selectQuery = "select [ID] from [myDB].[dbo].[myTable] where [myName] = @username;";
然后您可以使用Command.Parameters
函数定义参数,如下所示:
cmd.Parameters.Add("@username", SqlDbType.VarChar);
cmd.Parameters["@username"].Value = user.globalusername;
或者像这样:
cmd.Parameters.AddWithValue("@Username", user.globalusername);