参数化SQL查询C#

时间:2015-06-02 22:05:07

标签: c# sql-server parameters

这是我写的一个简单查询。为了防止SQL注入,最常用的方法是什么?

string selectQuery = "select [ID] from [myDB].[dbo].[myTable] where [myName] = '" +  user.globalUserName + "'";

1 个答案:

答案 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);