Wie ein SQL-Statement zusammensetzen?

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Ich werf meine Frage gleich einfach mal dazwischen, wenn es hie rgerade schon um SQL und JDBC geht.

Wenn ich vorher nicht weiß, wieviele Parameter das SQL-Datetement bekommen soll, wie erstelle ich das SQL-Statement dann am besten? PreparedStatement scheidet ja aus. Momentan habe ich es so, dass die IDs in einem Array übergeben werden und dann mit einer Schleife dieser Teilbereich des SQL-Statements erzeugt wird.

Also:
Code:
while(i<anzahl_ID_array)
string += "artikel "+ idarray[i]+" OR "
und danach wird das ganze dann per executeQuery ausgeführt. Gibt es noch eine andere Möglichkeit?

L-ectron-X hat diesen Beitrag am 07.11.2007 um 13:46 Uhr getrennt und verschoben.
Für jede vom Thema abweichende Frage ist ein neuer Thread zu erstellen!
Code-Tags gesetzt.
 
Das macht ja eigentlich das gleich oder nicht?
Da der User die Daten eingeben darf, habe ich halt bedenken wegen den SQL-Injections, die man mit meiner Methode ja bis jetzt ausführen könnte.
 
nur ein ungetesteter Einfall 🙂

setz den SQL-String weiterhin dynamisch zusammen (jedes Element im Array wird ein Parameter in diesem SQL-String), dann setz die Parameter im preparedStatement mit ner for schleife) ......

ansonsten fällt mir nichts ein als den User-Input eben doch zu filtern ;-) (dann klappts auch nicht mit SQL-Injection)

grüssse
 
Abhilfe in diesem Fall könnte die Verwendung von Hibernate schaffen.
Ansonsten wirst du die Anwendung weiter zerlegen müssen. In reine Datenklassen (POJO's), die die zu speichernden Attribute von Tabellen kapseln und einer Klasse, die global die DB-Connection verwaltet. Diese Klasse holt sich die SQL-Strings je nach Abfrage-Typ (select, insert, update) und Datenklasse (DB-Tabelle) von der Datenklasse bzw. von einer dazwischen "geschalteten" Klasse ab.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben