MySqlCommand Command.Parameters.Add está obsoleto

Estoy haciendo una aplicación de formulario C # windows en visual studio 2010.

Esa aplicación se está conectando a una base de datos mysql, y quiero insertar datos en ella.

Ahora tengo esta parte del código:

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();

La conexión está bien. Eso funciona.

leíaquí que la forma que tengo ahora, es una forma segura de hacer consultas. ¿Sigue siendo así?

Y ahora a la pregunta real. Con ese código de arriba, recibo la siguiente advertencia en 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)"'

Esa advertencia es para todos los parámetros.add

Y ni siquiera funciona, porque los valores que se insertan son @mcUserName, @mcUserPass y así sucesivamente, en lugar de los valores que tienen las variables mcUserNameNew y así sucesivamente ...

Entonces, mi pregunta es, ¿estoy haciendo algo mal y cuál es la nueva forma de salvar una inyección de SQL? ¿Realizar una consulta?

Respuestas a la pregunta(5)

Su respuesta a la pregunta