AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken TTtime Felder im Grid werden immer aktualisiert
Thema durchsuchen
Ansicht
Themen-Optionen

TTtime Felder im Grid werden immer aktualisiert

Ein Thema von tkhandel · begonnen am 3. Aug 2023 · letzter Beitrag vom 9. Aug 2023
Antwort Antwort
tkhandel

Registriert seit: 2. Jan 2022
Ort: Arnsberg im Sauerland
57 Beiträge
 
Delphi 10.4 Sydney
 
#1

TTtime Felder im Grid werden immer aktualisiert

  Alt 3. Aug 2023, 13:52
Datenbank: IBLite • Version: 2020 • Zugriff über: FDConnection
Hallo,

ich habe immer noch ein merkwürdiges Verhalten in einem Grid
Die folgenden Datenbankfelder sind vorhanden:
- Id String
- MitarbeiterId String
- Datum TDate
- Anfang TDateTime
- Ende TDateTime
- Start TTime
- Ende TTime

usw. Bei einem ButtonClick wird ein Eintrag in die Datenbank geschrieben nun werden
alle Felder werden in der Datenbank korrekt gespeichert und ändern sich nicht bis auf die
TTime Felder die werden im Grid ständig aktualisiert sobald der Mauszeiger das Grid
berührt oder ein neuer Eintrag getätigt wird. Das ist zum verzweifeln, wie gesagt in der
DB ist es richtig alle anderen Felder nicht betroffen!
Miniaturansicht angehängter Grafiken
test1.jpg  
Jürgen
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: TTtime Felder im Grid werden immer aktualisiert

  Alt 3. Aug 2023, 16:43
Code wäre nicht schlecht. Augenschonende Farben auch.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
tkhandel

Registriert seit: 2. Jan 2022
Ort: Arnsberg im Sauerland
57 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TTtime Felder im Grid werden immer aktualisiert

  Alt 5. Aug 2023, 07:25
Hallo ja Farben mach ich noch ist ja ein Test


Also es gibt nur diesen CODE!!!

procedure TfraMain.btnArbeitClick(Sender: TObject);
var
vGuid : TGuid;
begin
CreateGuid(vGuid);
ZeitenEdit.Open;
ZeitenEdit.Insert;
ZeitenEditId.Value := GuidToString(vGuid);
ZeitenEditIDMITARBEITER.AsString := vMitarbeiterId;
ZeitenEditBUCHUNGSART.Astring := 'AZ';
ZeitenEditDatum.asDateTime := DateOf( Now );
ZeitenEditANFANGZEIT.AsDateTime := Now
ZeitenEditJAHR.Value := YearOf(Now);
ZeitenEditMONAT.Value := IntToStr(MonthOf(Now));
ZeitenEditTAG.Value := IntToStr(DayOf(Now));
ZeitenEditSTART.AsDateTime := TimeOf( vStartArbeit );
ZeitenEdit.Post;
ZeitenEdit.Close;
end

Es muss irgendwie an dem Grid bzw FMX liegen, da die Daten in der DB richtig stehen.
Jürgen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.171 Beiträge
 
Delphi 12 Athens
 
#4

AW: TTtime Felder im Grid werden immer aktualisiert

  Alt 5. Aug 2023, 12:33
Vielleicht könnte mal wer im Debugger nachsehn, ob das OnClick oder z.B. BeforeInsert/AfterInsert/BeforePost/AfterPost wirlich nicht aufgerufen werden?

Wenn du sofort eine Close machst, warum bleiben dann die Anzeigen im Grid bestehen?
Bzw. WIE kommen die Daten ins Grid? (über ein DataBinding von ZeitenEdit wohl eher nicht)

zusätzliche Tipps:
* ein [DELPHI] ... [/DELPHI] um deinen Code drumrum (du hättest noch dreiviertel Tag zum Editieren)
* und TGUID.NewGuid.ToString
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 5. Aug 2023 um 12:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: TTtime Felder im Grid werden immer aktualisiert

  Alt 5. Aug 2023, 12:51
Ein kleines Beispielprojekt würde hier auch deutlich mehr Informationen liefern als ein einzelner Event-Handler. Die Ursache für ein Problem steckt oft an einer ganz anderen Stelle als man vermutet.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.171 Beiträge
 
Delphi 12 Athens
 
#6

AW: TTtime Felder im Grid werden immer aktualisiert

  Alt 5. Aug 2023, 13:08
Also es gibt nur diesen CODE!!!
Aber so richtig glauben kann ich es auch nicht (siehe meine vorherige Frage)
Wenn du sofort eine Close machst, warum bleiben dann die Anzeigen im Grid bestehen?
Bzw. WIE kommen die Daten ins Grid? (über ein DataBinding von ZeitenEdit wohl eher nicht)
Denn so wie der Code ist, kann er definitiv nicht kompiliert werden.

ZeitenEditANFANGZEIT.AsDateTime := Now
Fehlt da nicht ein TimeOf?
Fehlt dahinter nicht ein ;





Fragen zum Datenbank-Design würden sich auch noch stellen. (aber das ist eine andere Angelegenheit)


Warum sind die Daten doppelt mehrfach in der Tabelle?
* Ein Feld reicht. (Das dann für die Anzeige im SELECT aufzuteilen, ist eine andere Sache)
* das mehrfache Now kann sich zur Laufzeit ändern. (z.B. einen Hauch vor Mitternacht gecklickt, kann das letzte Now nach Mitternacht sein und schon passen die Daten nicht mehr zusammen)
* und wenn man die Daten bearbeitet, aber irgendwo ein Feld vergisst, war's das auch wieder, mit der Konsistenz

Warum ZeitenEditTAG.Value := IntToStr(DayOf(Now));
anstatt ZeitenEditTAG.AsString := IntToStr(DayOf(Now));
oder gar ZeitenEditTAG.AsInteger := DayOf(Now);
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 5. Aug 2023 um 13:13 Uhr)
  Mit Zitat antworten Zitat
tkhandel

Registriert seit: 2. Jan 2022
Ort: Arnsberg im Sauerland
57 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: TTtime Felder im Grid werden immer aktualisiert

  Alt 9. Aug 2023, 07:56
Danke für eure Antworten!

die Felder sind doppelt um verschiedene Feldtypen auszuprobieren,
manches hatte ich zur Vereinfachung gekürzt um nur das Problem zu
schildern. Ein Problem mit dem keiner gerechnet hat.

Inzwischen weiß ich, das es am FMXGrid liegt!
Sobald dort (und nur dort) eine Spalte unter dem Punkt ColumnStyle "TimeColumn"
erhält wird die 'Uhrzeit' bei jeder nur erdenklichen Aktion aktualisiert.
Trotzdem nochmal DANKE
Jürgen
  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 18:08 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