MySqlCommand Command.Parameters.Add устарел

Я делаю C # Windows Form Application в Visual Studio 2010.

Это приложение подключается к базе данных mysql, и я хочу вставить в нее данные.

Теперь у меня есть эта часть кода:

MySqlConnection connection;
string cs = @"server=server ip;userid=username;password=userpass;database=databse";
connection = new MySqlConnection(cs);
connection.Open();

MySqlCommand command = new MySqlCommand();
string SQL = "INSERT INTO `twMCUserDB` (`mc_userName`, `mc_userPass`, `tw_userName`, `tw_userPass`) VALUES ('@mcUserName', '@mcUserPass', '@twUserName', '@twUserPass')";
command.CommandText = SQL;
command.Parameters.Add("@mcUserName", mcUserNameNew);
command.Parameters.Add("@mcUserPass", mcUserPassNew);
command.Parameters.Add("@twUserName", twUserNameNew);
command.Parameters.Add("@twUserPass", twUserPassNew);
command.Connection = connection;
command.ExecuteNonQuery();
connection.Close();

Связь в порядке. Это работает.

я читалВот что способ, которым я пользуюсь сейчас, это безопасный способ выполнения запросов. Это все еще верно?

А теперь к настоящему вопросу. С этим кодом, я получаю следующее предупреждение в Visual Studio:

'MySql.Data.MySqlClient.MySqlParameterCollection.Add(string, object)' is obsolete: '"Add(String parameterName, Object value) has been deprecated.  Use AddWithValue(String parameterName, Object value)"'

Это предупреждение для каждого параметра.

И это даже не работает, потому что вставляются следующие значения: @mcUserName, @mcUserPass и т. Д. Вместо значений, которые содержат переменные mcUserNameNew и т. Д.

Итак, мой вопрос, я делаю что-то не так, и каков новый способ сохранения SQL инъекций сделать запрос?

Ответы на вопрос(5)

Ваш ответ на вопрос