参数化 SQL 查询 C#
Paramaterized SQL Query C#
这是我写的一个简单查询。将其参数化以防止 SQL 注入的最佳方法是什么?
string selectQuery = "select [ID] from [myDB].[dbo].[myTable] where [myName] = '" + user.globalUserName + "'";
你可以使用@
定义一个参数,像这样:
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);
这是我写的一个简单查询。将其参数化以防止 SQL 注入的最佳方法是什么?
string selectQuery = "select [ID] from [myDB].[dbo].[myTable] where [myName] = '" + user.globalUserName + "'";
你可以使用@
定义一个参数,像这样:
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);