Verwendung vorbereiteter Anweisungen in C# mit MySQL
Beim Versuch, vorbereitete Anweisungen in einem C#-Programm zu verwenden, können Entwickler auf Schwierigkeiten stoßen. Ein häufiges Problem tritt auf, wenn der Code der vorbereiteten Anweisung durch eine reguläre Anweisung ersetzt wird, was zu einer erfolgreichen Ausführung führt.
Bei genauerer Betrachtung fällt auf, dass die vorbereitete Anweisung nicht richtig konfiguriert ist. Hier sind die wichtigsten Schritte zur ordnungsgemäßen Verwendung vorbereiteter Anweisungen:
Das folgende Beispiel zeigt die korrigierte Verwendung vorbereiteter Anweisungen:
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(); }
In diesem überarbeiteten Code sind die einfachen Anführungszeichen ('), die die Parameterwerte in der Abfrage umgeben, werden entfernt. Zusätzlich wird die Prepare-Methode nach dem Hinzufügen der Parameter aufgerufen. Durch die Einhaltung dieser Schritte können vorbereitete Anweisungen effektiv in C#-Programmen mit MySQL verwendet werden.
Das obige ist der detaillierte Inhalt vonWarum schlagen meine in C# vorbereiteten Anweisungen mit MySQL fehl und wie kann ich sie beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!