Entwickler-Ecke
Datenbanken - SQL-Probleme
rs1305 - Do 18.02.16 17:44
Titel: SQL-Probleme
Ich bearbeite ein Projekt mit einer Anbindung an eine Firebird Datenbank. Nun stoße ich vermehrt auf SQL Strings die so oder so ähnlich aussehen:
"where ll.Z100>=:Z100" - dies ist ein Ausschnitt aus einer Abfrage. Irgendwie ist mir nicht klar, was auf der rechten Seite gemeint ist (:z100). Ich komme eigentlich aus der Microsoft Welt und kenne solche Abfragen nicht ... brauch aber dringend eine Antwort.
wäre schön wenn jemand hier einen Plan hätte.
Moderiert von Narses: Topic aus Sonstiges (Delphi) verschoben am So 21.02.2016 um 21:36
FinnO - Do 18.02.16 18:26
Moin,
das sind sog.
Prepared Statements mit benamten Parametern (named parameters). Diese gibt es in jedem SQL-Dialekt und dienen u.a. dazu, SQL-Injection zu verhindern. Nachlesen kann man das in der Dokumentation der jeweiligen Datenbankabstraktion. Eine Zusammenfassung gibt es z.B. auf
Wikipedia [
https://en.wikipedia.org/wiki/Prepared_statement].
Gruß
jaenicke - Do 18.02.16 18:28
Das sind Parameter. Dabei musst du dich nicht um den Datentyp kümmern für die SQL Abfrage (Anführungszeichen, Zahlenumwandlung, ...), das erledigt die DB-Schnittstelle für dich.
Du schreibst also die SQL Formel und setzt dann die Parameter bevor du die Anfrage ausführst.
// Edit:
Oh, am Handy hatte ich die Antwort gar nicht gesehen. Damit ist ja schon alles gesagt.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!