![]() |
Datenbank: Any • Version: 1 • Zugriff über: FireDAC
FireDAC Makro vs Parameter
Hallo Zusammen,
ich arbeite mich gerade in FireDAC ein und mir ist nicht klar was der Unterschied zwischen einen Makro und Parameter ist. Nach den lesen der Dokumentation habe ich irgendwie den Eindruck das beide das selbe machen. Viele Grüße |
AW: FireDAC Makro vs Parameter
Auf den ersten Blick ja, auf den 2. aber nicht mehr.
Bei der Verwendung wird die Abfrage mit den Parametern (nicht den Werten) an das DBMS gesendet. Dort wird die Abfrage dann werteunabhängig vorbereitet ( Zugriffsplan usw.). Anschliessend werden die Werte übermittelt und auf die vorbereitete Abfarge angewendet. Dies kann auch mehrfach geschehen, der Pepare muss nur einmal stattfinden. Bei den Makros wird lokal eine Abfrage mit den konkreten Werten gebildet. Makros kann man deshalb auch für Dinge verwenden, welche nicht parametrisierbar sind (Datenbanken, Tabellen, Felder ...). Parameter gehen nur für Werte. |
AW: FireDAC Makro vs Parameter
Danke auch von mir für die Erklärung.
Das hieße dass bspw. Parameter u.U. auch auf Seite des DBMS unterstützt werden während "FireDAC Makros" etwas sind das garantiert immer Client-seitig abläuft? |
AW: FireDAC Makro vs Parameter
Ja. Parameter sind ein Feature des DBMS (sollte aber von jedem unterstützt werden).
Mit Makros wird lokal im Client für jede Ausprägung die individuelle Abfrage erzeugt. |
AW: FireDAC Makro vs Parameter
Ich möchte noch hinzufügen, dass Parameter vor SQL-Injection (ein Sicherheitsproblem) schützen Macros aber nicht.
|
AW: FireDAC Makro vs Parameter
Ok, das wäre meine nächste Frage gewesen. Danke fürs Gedankenlesen :thumb:
|
AW: FireDAC Makro vs Parameter
Auch von mir ein Danke für die kompakte Erklärung.
|
AW: FireDAC Makro vs Parameter
Makro braucht man dann, wenn man nicht Werte, sondern z.B. Feldnamen oder komplexe Teile ersetzen muss.
Beispiel: select * from rechnung where mandant_nummer in <<nummern>>. Dann kann man <<nummern>> ersetzen durch ('300', '301', '400'). Das geht mit Params nicht. Frank |
AW: FireDAC Makro vs Parameter
Moin...:P
Ich mache ja ungern die Spaßbremse. :wink: So schön wie das alles ist, du bindest dich mit Macros ausschließlich an diese Komponente. Für meinen Teil schwöre ich auf klassisches SQL mit klassischen Querys. Mit einer ausgetauschten Deklaration habe ich einen Komponentenwechsel (sinngemäß)...:thumb: |
AW: FireDAC Makro vs Parameter
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz