![]() |
Datenbank: MySQL • Version: 10.4.22 • Zugriff über: FireDAC in Delphi 11
Rückmeldung bei Insert mit FireDAC
Hallo zusammen,
ich verwende FireDAC um mit auf die SQL-Datenbank zu zu greifen, was bisher auch soweit funktioniert. Bei Änderungen von Daten verwende ich hier Aktuell "TFDQuery". In einer Tabelle der Datenbank will ich nun einen neuen Datensatz hinzufügen, wobei ich den Wert für die Spalte "ID" NICHT mit schicke. Die Spalte "ID" ist der Primär-Index und hat die Option "Auto-Inc". Demnach wird sie beim Insert Befehl automatisch befüllt? Wenn ich hier wieder "TFDQuery" verwende funktioniert das hinzufügen der Daten auch ohne Probleme, aber wie bekomme ich den Wert den er mir in die Spalte "ID" eingetragen hat zurück? Ne Abfrage danach bringt nichts, denn Theoretisch können mehrere Datensätze mit gleichen Werten vorhanden sein, die sich dann nur an der "ID" unterscheiden. Generell geht es ja, denn bei PHP oder im alten Delphi (noch mit einer anderen Library) habe ich es schon programmiert. Nur mit FireDAC habe ich es bisher noch nicht benötigt und leider beim Suchen im Netz auch nicht gefunden. |
AW: Rückmeldung bei Insert mit FireDAC
Hilft eventuell dashier:
![]() |
AW: Rückmeldung bei Insert mit FireDAC
Zitat:
|
AW: Rückmeldung bei Insert mit FireDAC
FireDAC unterstützt direkt solche Felder und in der Regel erhält man den Wert in dem entsprechenden Feld nach dem Post-Aufruf. Die nötigen Vorbedingungen sind hier erläutert:
![]() |
AW: Rückmeldung bei Insert mit FireDAC
Besorgt sich FireDAC dann wirklich den "richtigen" Wert, (z.B. via INSERT RETURNING)
oder holt es sich nur den RECORD im Anschluß nochmal runter? (SELECT) Jo, viele DB-Frameworks holen sich standardmäßig im RefreshAfterPost mit RefreshRecord den "aktuellen" Datensatz, WENN es möglich ist ein passendes WHERE zu basteln. (mit einer vorhandenen ID oder einem WHERE auf "alle" bekannten Felder) Im pgDAC hatten wir schon ein paar Mal das Problem, dass die Automatik nicht funktionierte (vor allem wenn JOINs und Dergleichen beteiligt waren). |
AW: Rückmeldung bei Insert mit FireDAC
Zitat:
|
AW: Rückmeldung bei Insert mit FireDAC
Danke an all.
Ihr habt mir zur Lösung verholfen. Ich hatte zwar selbst schon nach dem "GetLastAutoGenValue" gesucht, aber nicht gefunden, da ich beim TFDQuery gesucht hatte. Die Rückmeldung gehört aber zu TFDConnection selbst. Demnach hätte ich es also eine Ebene höher suchen müssen. :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:43 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