Forum: ADO.NET |
Thema:
Re: SQL erzeugen? |
Von:
Hannes Preishuber (
22.05.2005 10:04) |
du willst sicher nichtdas das Kommando so aussieht
SELECT * FROM Tabelle1 WHERE suche1=me.text1.text AND suche2=me.text2.text AND suche3=me.text3.text AND suche4=me.combo1.text AND suche5.combo2.text AND suche6=combo3.text"
sondern eher
SELECT * FROM Tabelle1 WHERE suche1='text' AND ...
dazu musst du eine String zusammensetzung machen
Ich gehe davon aus das du vb nimmst
SQL="SELECT * FROM Tabelle1 WHERE suche1='" & me.text1.text & "' AND suche2='" & me.text2.text & "' AND ....
Dann kommt noch hinzu das das ein exakter vergleich ist. Wenn du einen ähnlichen Suchausdruck haben möchtest (b Gros kleibschreibung oder teilstring) nimm LIKE
Ergänzend möchte ich aber noch ausführen das diese art der Zusammensatezung anfällig für sQL Injection ist.
http://www.devtrain.de/news.aspx?artnr=730
-Hannes
Betreff |
Von |
Datum |
|
|
Re: SQL erzeugen?
Danke Hannes,<br><br>Es war sehr hilfreich für mich.<br>Jetzt funktioniert SQL wieder :)<br>Dankeeeeeeeeeeeeeeeee<br><br>MfG, |
|
|
|
|
|
Halil
EROL
|
22.05.2005 13:25 |
|
|
Re: SQL erzeugen?
Ergänzend möchte ich hinzufügen das man Replace("'","''") nutzen sollte (man ist vor SQL-Injection sicherer und der Nutzer kann dann auch das ' in seinem PWD oder Loginnamen (oder was auch immer)... |
|
|
|
|
|
Thomas
Golla
|
23.05.2005 11:09 |
|
|
Re: SQL erzeugen?
Thomas, mit verlaub, das ist Blödsinn<br><br>http://weblogs.asp.net/hpreishuber/archive/2004/04/30/123901.aspx<br><br>Das Motto muss lauten, alles verbieten und nur das erlauben was man braucht.<br>Also NICHT... |
|
|
|
|
|
Hannes
Preishuber
|
23.05.2005 13:35 |
|
|
Re: SQL erzeugen?
Tja, wie er schon gepostet hat "you never know, what you dont know" :-)<br><br>Und wieder was gelernt ... :-)<br><br>Danke Hannes ... da hatte ich bis dato wohl immer Glück. |
|
|
|
|
|
Thomas
Golla
|
23.05.2005 14:15 |
|
|
Re: SQL erzeugen?
Eine Sache interessiert mich aber noch ... <br>Wenn ich dies habe:<br>"select * from a where b = '" & c.replace("'","''") & "'"<br><br>welche syntax muss in c stehen damit ein sql-injenction erfolg hat und... |
|
|
|
|
|
Thomas
Golla
|
24.05.2005 11:12 |
|
|
Re: SQL erzeugen?
Hallo Leute,<br><br>das beste, um SQL Injection entgegen zu wirken, sind doch wohl Parameter, die man immer verwenden sollte, oder sehe ich das falsch ?<br><br>Wie z.B.<br>SELECT * FROM a <br>WHERE b = @p_b<br>AND ... |
|
|
|
|
|
G.
Guest
|
02.06.2005 16:14 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!