C# 如何修复CA2100 Review SQL查询中的安全漏洞问题

C# 如何修复CA2100 Review SQL查询中的安全漏洞问题,c#,sql-server,visual-studio,optimization,code-analysis,C#,Sql Server,Visual Studio,Optimization,Code Analysis,我正在分析我的代码,发现了这个安全问题: CA2100检查SQL查询是否存在安全漏洞在“Add_item.loadgrid()”中传递给“SqlDataAdapter.SqlDataAdapter(string,SqlConnection)”的查询字符串可能包含以下变量“Login.dbName”。如果这些变量中的任何一个可以来自用户输入,请考虑使用存储过程或参数化SQL查询,而不是用字符串连接来构建查询。登录添加_item.cs 64 这是突出显示的代码: SqlDataAdapter da

我正在分析我的代码,发现了这个安全问题:

CA2100检查SQL查询是否存在安全漏洞在“Add_item.loadgrid()”中传递给“SqlDataAdapter.SqlDataAdapter(string,SqlConnection)”的查询字符串可能包含以下变量“Login.dbName”。如果这些变量中的任何一个可以来自用户输入,请考虑使用存储过程或参数化SQL查询,而不是用字符串连接来构建查询。登录添加_item.cs 64

这是突出显示的代码:

SqlDataAdapter da = new SqlDataAdapter("SELECT Newjob FROM [" + Login.dbName + "].newjob", connection. conn );

这就是通常所说的SQL注入漏洞。您应该使用sqlParameter对象,而不是将值连接到字符串中并将该字符串传递给SQL Server