Je fais un windows C# Application Form dans Visual Studio 2010.MySqlCommand Command.Parameters.Add est obsolète
Cette application se connecte à une base de données MySQL, et je veux insérer des données en elle.
Maintenant, dois-je cette partie du code:
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 connexion est très bien. Ça marche.
J'ai lu here que la façon dont j'ai maintenant, est un moyen sûr de faire des requêtes. Est-ce toujours vrai?
Et maintenant à la vraie question. Avec ce code ci-dessus, je reçois l'avertissement suivant en studio visuel:
'MySql.Data.MySqlClient.MySqlParameterCollection.Add(string, object)' is obsolete: '"Add(String parameterName, Object value) has been deprecated. Use AddWithValue(String parameterName, Object value)"'
Cet avertissement est pour chaque parameters.add
Et il ne fonctionne pas encore, parce que les valeurs qui sont insérées sont @mcUserName , @mcUserPass et ainsi de suite, au lieu des valeurs que les variables mcUserNameNew et ainsi de suite tiennent ...
Alors ma question est, est-ce que je fais quelque chose de mal, et quelle est la nouvelle façon d'injecter sql faire un question?
'utilisation AddWithValue' comme suggéré dans l'avertissement – Habib
@Habib, fait, les avertissements ont disparu, mais pas encore la bonne valeur dans la db ...] – Mathlight