Чтобы очистить запрос, вам нужно извлечь параметры и добавить их через SqlCommand Parameters AddWithValue, чтобы избежать внедрения SQL. Другой подход должен сделать строку запроса постоянной и без параметров. В настоящее время мой метод имеет следующую подпись: 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;