Heim >Datenbank >MySQL-Tutorial >Wie verwende ich vorbereitete Anweisungen mit MySQL in C# richtig?

Wie verwende ich vorbereitete Anweisungen mit MySQL in C# richtig?

Barbara Streisand
Barbara StreisandOriginal
2024-11-16 13:45:03898Durchsuche

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

Vorbereitete Anweisungen in C# mit MySQL verwenden

Beim Versuch, vorbereitete Anweisungen in einem C#-Programm zu implementieren, können bei einigen Benutzern Probleme auftreten Sie haben ihre Abfrage nicht richtig formatiert oder die Anweisung nach dem Hinzufügen von Parametern nicht richtig vorbereitet.

Um diese Probleme zu beheben, befolgen Sie diese Schritte Schritte:

  1. Einfache Anführungszeichen aus der Abfrage entfernen: Im bereitgestellten Code ist die Abfrage in einfache Anführungszeichen gesetzt. Dies ist nicht erforderlich und sollte entfernt werden.
  2. Verwenden Sie Prepare nach dem Hinzufügen von Parametern:Vor dem Ausführen der Abfrage muss die Anweisung vorbereitet werden. Dieser Prozess erstellt einen Plan zur effizienten Ausführung der Abfrage. Platzieren Sie den Methodenaufruf Prepare(), nachdem Sie alle erforderlichen Parameter mit cmd.Parameters.AddWithValue() hinzugefügt haben.

Der korrigierte Code sollte wie folgt aussehen:

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

Das obige ist der detaillierte Inhalt vonWie verwende ich vorbereitete Anweisungen mit MySQL in C# richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn