Wie die Verwendung von string-variable in sql-Anweisung
Ich habe eine WPF-Applikation, in der ich immer bin,
string someone = TextBox.text;
Möchte ich dies in der folgenden Abfrage
query = " Select * From Table Where Title = someone "
Wie gehe ich mit der variable jemand in der Abfrage?
- sollten Sie nicht! Schon mal gehört von SQL-Injection oder parametrisierte Abfragen?
- ja, dies ist sehr schlechte Praxis
- Diese Frage ist zu breit, er beträgt, wie bekomme ich Daten aus sql-server, basierend auf Eingaben vom Benutzer in eine WPF-Anwendung. Es gibt ganze Bücher nur auf, die.
- hier können Sie Lesen, einige SQL-Injection-Beispiele en.wikipedia.org/wiki/SQL_injection
- ich fühle mich jetzt dumm 😀 Ben
- stack-überlauf wird durch das tun Sie, mit solchen netten Leuten in der Gemeinschaft. je höher der Ruf desto mehr fleischliche Reaktion. Liebe die Reaktionen, die keine Konstruktive Kritik oder Antworten auf allen, sondern nur sagen, du bist dumm, was du machst, ist falsch, oder schließen Sie die Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie genau dies tun
Aber, dass es schlecht ist und öffnet Sie, um SQL-Injection -
Sollten Sie nur verwenden Sie eine parametrisierte Abfrage
Etwas wie dieses sollte Ihnen den Einstieg
Von Jon Skeet ist die Antwort da war sein vollständiger als meins
Siehe die Dokumentation für SqlCommand.Parameter für weitere Informationen.
Grundsätzlich sollte man nicht das einbetten der Werte in der SQL-sich aus verschiedenen Gründen:
Angriffe, es sei denn, Sie sind sehr vorsichtig über die Flucht
etc mal
ändern der Optimierer hat weniger zu tun - es Aussehen kann, bis die
Vorherige optimiert die Abfrage direkt, da es eine perfekte Entsprechung in
Bezug auf die SQL.
cmd.CommandText = "Select * From Table Where Tile = @Title, Thing = @Thing
cmd.Parameters.Add("@Title", someone); cmd.Parameters.Add("@Thing, thing);
Sollten Sie verwenden Sie eine parametrisierte SQL-Abfrage:
Siehe die Dokumentation für SqlCommand.Parameter für weitere Informationen.
Grundsätzlich sollte man nicht das einbetten der Werte in der SQL-sich aus verschiedenen Gründen:
Einfachste Weg ist die Verwendung einer C# - Prepared sql. Beispiel auf diesen Beitrag. Sie müssen nicht sorgen zu machen über die Flucht der Zeichen in Ihren sql-string oder nichts