Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi FireDac Parameter Syntax (https://www.delphipraxis.net/202336-firedac-parameter-syntax.html)

Elrond 22. Okt 2019 15:35

Datenbank: Firebird • Version: 2.5 • Zugriff über: FireDac

FireDac Parameter Syntax
 
Hallo Zusammen,

wo finde ich konkrete Informationen zur Deklaration eines SQL Parameters in FireDac?

Zum Hintergrund, ich habe gerade einen nervigen Fehler gehabt, einige SQL Anweisungen münden in eine argument out of range exception.
Das war das erste hä, beim Debuggen ist mir aufgefallen das FireDac weniger Parameter ermittelt als ich übergebe. Nach langen suchen konnte ich leider nirgends finden wie FireDac in einer SQL Anweisung nach Parametern sucht, also habe auf gut Glück angefangen die Parameter umzubenennen (Parameter heißen wie die Spalten, für die bessere Lesbarkeit) und wurde fündig. Ein Parameter mit einem Bindestrich im Namen wird ignoriert. Dabei habe ich schon gehofft, wenn ich die restriktiven Regeln für Spaltennamen auch für Parameter verwende würde sowas nicht vorkommen. Jetzt frage ich mich natürlich, auf was muss ich noch achten, maximale Länge vielleicht?

VG
Elrond

jobo 23. Okt 2019 06:25

AW: FireDac Parameter Syntax
 
Die Frage ist berechtigt, aber ich kann das nicht exakt beantworten, letztlich ist es ja ein Parser, der die Doppelpunkte sucht.. bestimmt gibt es irgendwo Doku dazu.
Wenn man von den DB Spaltennamen ausgeht, ist das aber eigentlich gar nicht verkehrt. Der "Fehler" ist in Deinem Fall auch dort zu suchen, denn auch in DB ist es nicht Standard, dass Bindestriche (Minus) als Feldnamen akzeptiert werden (Plus, Geteilt, Stern sicher auch nicht, der Grund dürfte klar sein).

Spaltennamen immer ASCII, also ohne Umlaute, Akzentzeichen, Katakana usw., einheitliche Sprache (naheliegend Englisch), Singular, Unter_strich als Trennzeichen ist allgemein anerkannt. Das dürfte auch bei den Parametern klappen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz