Heim  >  Artikel  >  Datenbank  >  Warum schlagen meine vorbereiteten C#-MySQL-Anweisungen fehl, wenn ich nach der Vorbereitung Parameter hinzufüge?

Warum schlagen meine vorbereiteten C#-MySQL-Anweisungen fehl, wenn ich nach der Vorbereitung Parameter hinzufüge?

Susan Sarandon
Susan SarandonOriginal
2024-11-16 19:25:03402Durchsuche

Why Do My C# MySQL Prepared Statements Fail If I Add Parameters After Preparing?

Probleme bei der Implementierung vorbereiteter Anweisungen in C# mit MySQL

Beim Versuch, vorbereitete Anweisungen in C# mit MySQL zu verwenden, stieß ein Benutzer auf ein Problem, bei dem Ihr Code konnte nicht korrekt ausgeführt werden. Bei der Rückkehr zu einem herkömmlichen Anweisungsansatz funktionierte das Programm ordnungsgemäß.

Bei der Untersuchung des Codeausschnitts des Benutzers wird deutlich, dass versucht wurde, die Anweisung vorzubereiten, bevor Parameter hinzugefügt wurden. Diese falsche Reihenfolge der Operationen kann zu unerwarteten Ergebnissen führen.

Um dieses Problem zu beheben, müssen die folgenden Schritte befolgt werden:

  1. Fügen Sie Parameter zur Anweisung hinzu, indem Sie Parameters.AddWithValue() verwenden. .
  2. Bereiten Sie die Anweisung mit Prepare() vor.

Der korrigierte Code sollte wie folgt aussehen:

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

Das obige ist der detaillierte Inhalt vonWarum schlagen meine vorbereiteten C#-MySQL-Anweisungen fehl, wenn ich nach der Vorbereitung Parameter hinzufüge?. 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