如果我要清理作为函数参数给出的查询,该怎么办?

时间:2019-07-11 10:36:51

标签: c# sql

为了清理查询,您需要提取参数并通过SqlCommand Parameters AddWithValue将其添加,以避免SQL注入。其他方法应该是使查询字符串为const并且不带参数。当前,我的方法具有以下签名:MyMethod(string query, ...),因此将在调用函数时定义查询。但是我正在使用声纳魔方,它仍然向我显示未消毒。我应该使用哪种方法?我无法在方法const中创建字符串,它没有任何参数。是误报吗?

public DataSet DoQuery(string query, string connection) 
{   
    initialize connection(); 
    SqlCommand command = new SQLCommand 
    { 
        commandType = CommandType.Text;
        CommandText = query; 
    } 
}

调用时:

string sql = "Select something";
DoQuery(sql, ...);

声纳多维数据集会说我需要对这根线进行消毒:

CommandType = query; 

0 个答案:

没有答案