Datenbank mit Zeos Komponente verweigert Annahme von "now"

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Datenbank mit Zeos Komponente verweigert Annahme von "now"

Beitrag von Aliobaba »

Hallo,

ein sehr eigenartartiges Verhalten von Lazarus ist mir aufgefallen und kostet mich nun schon den ganzen Tag, um es wie folgt einzugrenzen:

Bei folgendem Code, also ohne den durch "ShowMessage" unterbrochenen Programmablauf (DBEdTextAenderung ist von TDBEdit abgeleitet):

Code: Alles auswählen

       //   ShowMessage('kleine Pause');       // das Programm "läuft ohne Pause durch"
       DBEdTextAenderung.Text:= (FormatDateTime('yyyy  mm  dd  tt', Now));
 
wird die Übernahme des aktuellen Datums in die Datenbank schlicht verweigert und das Datum einfach nicht in die Datenbank reingeschrieben (verifiziert mit dem SQLite-Manager).

Wenn aber "ShowMessage('A1');" ausgeführt wird, also wenn das Programm zu einer Pause gezwungen wird, dann wird das aktuelle Datum in die Datenbank ordnungsgemäß übernommen:

Code: Alles auswählen

    ShowMessage('kleine Pause');  // unterbricht also das Programm
    DBEdTextAenderung.Text:= (FormatDateTime('yyyy  mm  dd  tt', Now));
 
Woran liegt das?
Und kann man elegantere Methoden als eine "Programmpause" anwenden, damit das Datum in die Datenbank geschrieben wird??

Aliobaba

Lazarus Version #:1.1
Datum 2012-05-03
FPC-Version: 2.6.0
SVN-Revision: 37142
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Datenbank mit Zeos Komponente verweigert Annahme von "no

Beitrag von Aliobaba »

.
Gaanz kleinlaut: Der Abschluß mit "QText.post;" fehlte

Sorry! :oops:
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

EgonHugeist
Beiträge: 93
Registriert: Di 17. Apr 2012, 22:41

Re: Datenbank mit Zeos Komponente verweigert Annahme von "no

Beitrag von EgonHugeist »

Ahääääääm :D

Danke für die Aufklärung.
ZeosDevTeam

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Datenbank mit Zeos Komponente verweigert Annahme von "no

Beitrag von Aliobaba »

Sorry!!

Dieses Eingabefeld: DBEdTextAenderung.Text hat, da abgeleitet von: TDBEdit Kontakt mit der Datenbank.
Wenn man in dieses Feld etwas schreibt, entweder per Hand oder durch Zuteilung per Variable, dann muß man diese Eingabe über
NamederDatenbank.post; abschließen. Erst dann wird das ganze in die Datenbank geschrieben (Warum das das Klicken auf "ShowMessage" auch macht ist mir unklar). Ich habe mich immer darauf verlassen, dass dieses NamederDatenbank.post; an späterer Stelle meines Codes noch kommt.
Und das war der Fehler

Aliobaba
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

br60
Beiträge: 10
Registriert: Di 26. Mär 2013, 20:39

Re: Datenbank mit Zeos Komponente verweigert Annahme von "no

Beitrag von br60 »

... das DBEdit generiert sicher ein POST, wenn es den Focus verliert (hier durch ShowMessage).

Bernd.

Antworten