AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi FireDAC-Konzept beim speichern von Pflichtfeldern, die nicht sichtbar sind
Thema durchsuchen
Ansicht
Themen-Optionen

FireDAC-Konzept beim speichern von Pflichtfeldern, die nicht sichtbar sind

Ein Thema von juergen · begonnen am 6. Apr 2023 · letzter Beitrag vom 6. Apr 2023
Antwort Antwort
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#1

FireDAC-Konzept beim speichern von Pflichtfeldern, die nicht sichtbar sind

  Alt 6. Apr 2023, 08:18
Datenbank: SQLITE • Version: 3.x • Zugriff über: FireDAC
Hallo zusammen,

gegeben ein DB-Grid mit Navigator. Sobald man im Grid was ändert/ einfügt wird der Navigator zum speichern ja aktiv.
Nun gibt es in den Tabellen weitere Felder, die im Grid nicht zu sehen sind. Einige der nicht sichtbaren Felder sind in der Datenbank als Pflichtfelder deklariert.
Beispiele:
- AnlegeUser
- Anlegezeit
- AenderUser
- Aenderzeit
usw.

Wenn ich Änderungen speichern will kommt eben die Fehlermeldung von der Datenbank ==>
Zitat:
Feld 'AenderUser' muss einen Wert haben
.

Was ist hier das richtige Konzept bei FireDAC?
Ich habe mir einiges angeschaut, warte jetzt aber erst mal auf eure Expertise ab.

Vielen Dank und einen schönen Tag!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.021 Beiträge
 
Delphi 12 Athens
 
#2

AW: FireDAC-Konzept beim speichern von Pflichtfeldern, die nicht sichtbar sind

  Alt 6. Apr 2023, 08:40
Bei einem Edit (Update) sollte in dem Wert ja bereits was drin stehen, damit besteht erstmal kein Handlungsbedarf. Beim Insert/Append werden solche Felder in der Regel im OnNewRecord Event vorbelegt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: FireDAC-Konzept beim speichern von Pflichtfeldern, die nicht sichtbar sind

  Alt 6. Apr 2023, 09:17
Danke Uwe.
Die Fehlermeldung kam, weil ich einige Tabellen gestern erweitert hatte und die Wert nun in falschen Feldern standen


Ich hatte gehofft, dass es eine Möglichkeit gibt beim Speichern-Button des Navigators an das von FireDAC erstellte SQL-Statement zu kommen und dort meine Aktualisierungen für z.B. "Aenderzeit" vorzunehmen.
So wie ich dich verstanden habe muss ich aber das ganze SQL Statement selbst zusammenstellen und im Event "OnUpdateRecord" der FDQuery zuweisen?
Jürgen
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.419 Beiträge
 
Delphi 7 Professional
 
#4

AW: FireDAC-Konzept beim speichern von Pflichtfeldern, die nicht sichtbar sind

  Alt 6. Apr 2023, 09:53
Bei ADO, Zeos, ... nutze ich für sowas das BeforePost-Ereignis.
Delphi-Quellcode:
procedure TfmMain.IrgendwasBeforePost(DataSet: TDataSet);
begin
  DataSet.FieldByName('Aenderzeit').AsDateTime := Now;
end;
Damit wird vor jedem Speichern, egal ob per Klick auf den Navigator oder im Quelltext, z. B. per Tabelle.Edit ... Tabelle.Post bzw. Tabelle.Append ... Tabelle.Post, die Aenderzeit auf die aktuelle Uhrzeit gesetzt. Entspricht vom Verhalten her einem Datenbanktrigger, der bei Insert und / oder Update ausgeführt wird.
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: FireDAC-Konzept beim speichern von Pflichtfeldern, die nicht sichtbar sind

  Alt 6. Apr 2023, 10:19
Vielen Dank,Delphi.Narium.
Das ist wohl genau das was ich gesucht habe.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 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