Laden...

Parameter zu einem SQL Command hinzufügen

Erstellt von BierDav vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.194 Views
BierDav Themenstarter:in
38 Beiträge seit 2019
vor 4 Jahren
Parameter zu einem SQL Command hinzufügen

Verwendetes Datenbanksystem: MySQL

Hallo, ich habe nach dem installieren eines Sicherheitslückencheckers von Microsoft für VS herausgefunden dass ich meine Input Parameter vorher auf richtigkeit prüfen sollte. Microsoft hat mir da die Funktion Parameters.Add vorgeschlagen aber irgendwie funktioniert es bei mich nicht so richtig. Beim debbuging bleibt der CommandText auch immer so wie ich in als erstes eingestellt habe.

Das wäre mein Code gewesen:

com = connection.CreateCommand();             
com.CommandText = "select UserID from Users where Username= @username and Password= @password";
com.Parameters.Add("@username", MySqlDbType.VarString).Value = Username;
com.Parameters.Add("@password", MySqlDbType.VarString).Value = EncryptString(Password);
var resault = com.ExecuteScalar();

im endefekt ist resault dann null. Und bekomme eine NullFequezerException (Keine Ahnung wie man das schreibt).

Vieleicht fällt jemandem mein Fehler auf warum es nicht Funktioniert.

Danke schon im Voraus 🙂

LG BierDav

Trifft eine Programmiererin ihre Freundin und die Freundin fragt: "Mit welchen Typen hängst du so in letzter Zeit rum?" Die Programmiererin antwortet: „integers, booleans und strings“

T
2.224 Beiträge seit 2008
vor 4 Jahren

Die Doku zu MySqlCommand.ExecuteScalar ist da recht deutlich.
Da du scheinbar keinen Eintrag zurück bekommst auf dein Select, wird auch Null geliefert.
Entsprechend musst du dein result auch auf Null prüfen.
Und es heiß NullReferenceException.

Anbei noch einen Tipp.
Arbeite dringend an deiner Rechtschreibung.
Du hast gefühlt in jedem Satz einen Fehler in deinem Beitrag.

Doku

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

16.834 Beiträge seit 2008
vor 4 Jahren

bekomme eine NullFequezerException (Keine Ahnung wie man das schreibt).

Du erwartest Hilfe - dann bemüh Dich doch wenigstens so, dass Du zumindest mal eine korrekt formulierte Fehlermeldung angibst.
Ansonsten wirkt das gegenüber Helfern wie hingeklatscht und hinge*.

Wie man eine NullReferenceException löst steht in der FAQ.
[FAQ] NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt

Dazu verwendet man den Debugger.
[Artikel] Debugger: Wie verwende ich den von Visual Studio?

Beim debbuging bleibt der CommandText auch immer so wie ich in als erstes eingestellt habe.

SQL Parameter werden bei ADO.NET getrennt vom Command übertragen - es ist korrekt, dass der String hier nicht replaced wird.

2.207 Beiträge seit 2011
vor 4 Jahren

Hallo BierDav,

[Artikelserie] SQL: Parameter von Befehlen

Gruss

Coffeebean