Я понимаю, что использование параметров с вашими запросами предотвращает внедрение sql (при получении значений с пользовательского ввода). Но если бы я хотел построить запрос, который использует предопределенные значения, например..NET - параметр запроса MySql от не пользовательского ввода
MySqlCommand Command = Connection.CreateCommand();
Command.CommandText = "SELECT employee_address FROM employees WHERE employee_name = @employee_name";
Command.Parameters.AddWithValue("employee_name", "John");
Могу я не использовать это вместо этого?
MySqlCommand Command = Connection.CreateCommand();
Command.CommandText = "SELECT employee_address FROM employees WHERE employee_name = 'John'";
Нужно ли использовать параметры в этом сценарии?
UPDATE
я могу также сделать это таким образом?
string employee_name = "John"; //value depends on some sort of selection (not user input)
MySqlCommand Command = Connection.CreateCommand();
Command.CommandText = "SELECT employee_address FROM employees WHERE employee_name = '" + employee_name + "'";
Если вы не принимаете этот '' John'' в качестве входного сигнала, нет, не обязательно. –
Тогда ваш код в порядке –
@Joachim - см. ОБНОВЛЕНИЕ - значение «Джон» может быть чем-то другим, например «Джек» в зависимости от какого-то выбора, может ли это иметь какое-то значение? – langjacques