Maison  >  Article  >  base de données  >  Comment utiliser correctement les instructions préparées avec MySQL en C# ?

Comment utiliser correctement les instructions préparées avec MySQL en C# ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-16 13:45:03810parcourir

How to Properly Use Prepared Statements with MySQL in C#?

Utilisation d'instructions préparées en C# avec MySQL

Lorsqu'ils tentent d'implémenter des instructions préparées dans un programme C#, certains utilisateurs peuvent rencontrer des problèmes s'ils ont n'a pas correctement formaté leur requête ou préparé l'instruction après avoir ajouté des paramètres.

Pour résoudre ces problèmes, suivez ces étapes :

  1. Supprimez les guillemets simples de la requête : Dans le code fourni, la requête est placée entre guillemets simples. Ceci n'est pas nécessaire et doit être supprimé.
  2. Utilisez Prepare après l'ajout de paramètres : Avant d'exécuter la requête, l'instruction doit être préparée. Ce processus crée un plan pour exécuter efficacement la requête. Placez l'appel de la méthode Prepare() après avoir ajouté tous les paramètres nécessaires à l'aide de cmd.Parameters.AddWithValue().

Le code corrigé devrait ressembler à ceci :

private void btnLogin_Click(object sender, EventArgs e)
{
    MySqlCommand cmd = MySqlConn.cmd;
    cmd = new MySqlCommand("SELECT * FROM admin WHERE admin_username=@val1 AND admin_password=PASSWORD(@val2)", MySqlConn.conn);
    cmd.Parameters.AddWithValue("@val1", tboxUserName.Text);
    cmd.Parameters.AddWithValue("@val2", tboxPassword.Text);
    cmd.Prepare();

    MySqlDataReader res = cmd.ExecuteReader();
    if (!res.HasRows) { MessageBox.Show("Error! "); res.Close(); return; }
    else
    {
        //do something
    }
    res.Close();
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn