Heim > Datenbank > MySQL-Tutorial > Warum schlägt meine vorbereitete C#-MySQL-Anweisung fehl und wie kann ich das Problem beheben?

Warum schlägt meine vorbereitete C#-MySQL-Anweisung fehl und wie kann ich das Problem beheben?

Patricia Arquette
Freigeben: 2024-11-28 11:54:11
Original
200 Leute haben es durchsucht

Why is my C# MySQL Prepared Statement Failing, and How Can I Fix It?

Fehlerbehebung bei vorbereiteten Anweisungen in C# mit MySQL

Beim Versuch, eine vorbereitete Anweisung in Ihrem C#-Programm mit MySQL zu verwenden, ist ein Fehler aufgetreten. Obwohl die Konvertierung in eine Standardanweisung die gewünschten Ergebnisse erbracht hat, suchen Sie Hilfe bei der Identifizierung des Problems.

Falscher Code:

cmd = new MySqlCommand("SELECT * FROM admin WHERE admin_username='@val1' AND admin_password=PASSWORD('@val2')", MySqlConn.conn);
cmd.Prepare();
cmd.Parameters.AddWithValue("@val1", tboxUserName.Text);
cmd.Parameters.AddWithValue("@val2", tboxPassword.Text);
Nach dem Login kopieren

Korrekturen:

  • Verwenden Sie „Vorbereiten nach dem Hinzufügen“. Parameter: Im falschen Code wurde der Befehl vor dem Hinzufügen von Parametern vorbereitet. Der richtige Ansatz besteht darin, zuerst Parameter hinzuzufügen und dann Prepare() aufzurufen.
  • Einfache Anführungszeichen aus der Abfrage entfernen: Die Abfrage enthielt einfache Anführungszeichen um die Parameterplatzhalter (@val1 und @val2), was falsch ist. Vorbereitete Anweisungen erfordern Parameterplatzhalter ohne Anführungszeichen.

Korrigierter Code:

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();
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum schlägt meine vorbereitete C#-MySQL-Anweisung fehl und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage