AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken DateTime Anzeige in DBGrid ist bei der Zeit 00:00:00

DateTime Anzeige in DBGrid ist bei der Zeit 00:00:00

Ein Thema von Smiley · begonnen am 9. Jul 2022 · letzter Beitrag vom 11. Jul 2022
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Smiley
Smiley

Registriert seit: 9. Dez 2004
Ort: Gedern
210 Beiträge
 
Delphi 12 Athens
 
#1

AW: DateTime Anzeige in DBGrid ist bei der Zeit 00:00:00

  Alt 10. Jul 2022, 12:30
Kann es sein dass wir hier von verschiedenen Sprachen sprechen?

Bei "qKasse.FieldbyName('Datum')." gibt es keine DisplayFormat Eigenschaft.
In den Persistenten Feldern finde ich weder im Query noch im Grid eine Eigenschaft Display Format.

Es gibt in der Query unter FormatOptions die Eigenschaft FmtDisplayDateTime, diese habe ich auch auf "dd.mm.yyyy hh:nn:ss" gesetzt.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: DateTime Anzeige in DBGrid ist bei der Zeit 00:00:00

  Alt 10. Jul 2022, 12:53
TField kennt kein DisplayFormat, TDateTimeField aber schon.

Wenn du bei deiner Query persistente Felder hast, welchen Typ hat dann das Feld für "Datum"?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Smiley
Smiley

Registriert seit: 9. Dez 2004
Ort: Gedern
210 Beiträge
 
Delphi 12 Athens
 
#3

AW: DateTime Anzeige in DBGrid ist bei der Zeit 00:00:00

  Alt 10. Jul 2022, 13:10
Meine Query sieht so aus, wenn ich ein doppelklick auf die Query mache:
https://www.delphipraxis.net/attachm...1&d=1657454877

Dort steht nur "Date" als Typ.
Kann SQLite kein DateTime ? ich habe es aber im Create als DateTime angelegt.
Code:
  qKasse.SQL.Text := 'Create Table If Not Exists Kasse ' +
    '(Nr INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,' +
    ' Name VARCHAR(100), EPreis Real, Menge Integer,Frei VARCHAR(1), ' +
    'Rabatt VARCHAR(1), Summe Real,Datum datetime, Bemerkung VARCHAR(200))';
  qKasse.ExecSQL;
Angehängte Grafiken
Dateityp: jpg qKasset.JPG (77,9 KB, 27x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Smiley
Smiley

Registriert seit: 9. Dez 2004
Ort: Gedern
210 Beiträge
 
Delphi 12 Athens
 
#4

AW: DateTime Anzeige in DBGrid ist bei der Zeit 00:00:00

  Alt 10. Jul 2022, 13:14
Hier noch ein Bild von den Feldern im DBGrid
https://www.delphipraxis.net/attachm...1&d=1657455266
Angehängte Grafiken
Dateityp: jpg Grid.JPG (94,6 KB, 20x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Smiley
Smiley

Registriert seit: 9. Dez 2004
Ort: Gedern
210 Beiträge
 
Delphi 12 Athens
 
#5

AW: DateTime Anzeige in DBGrid ist bei der Zeit 00:00:00

  Alt 10. Jul 2022, 13:20
So sieht es im SQLiteSpy aus:
https://www.delphipraxis.net/attachm...1&d=1657455639
Angehängte Grafiken
Dateityp: jpg SQLiteSpy.JPG (67,8 KB, 16x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Smiley
Smiley

Registriert seit: 9. Dez 2004
Ort: Gedern
210 Beiträge
 
Delphi 12 Athens
 
#6

AW: DateTime Anzeige in DBGrid ist bei der Zeit 00:00:00

  Alt 10. Jul 2022, 13:50
Hier der Inhalt des Formulars frmKasse:

Code:
procedure TfrmKasse.FormActivate(Sender: TObject);
begin
  grdKasse.DataSource:=DM.dsKasse;
  GridKasseInit;
end;

procedure TfrmKasse.GridKasseInit;
begin
  grdKasse.Columns[0].Width := 30;
  grdKasse.Columns[1].Width := 120; // Name
  grdKasse.Columns[2].Width := 50; // Prei
  grdKasse.Columns[3].Width := 50; // Menge
  grdKasse.Columns[4].Width := 40; // Frei
  grdKasse.Columns[5].Width := 40; // Rabatt
  grdKasse.Columns[6].Width := 50; // Summe
  grdKasse.Columns[7].Width := 180; // Datum
  grdKasse.Columns[8].Width := 300; // Bemerkung
  (DM.qKasse.FieldByName('Datum') as Tdatetimefield).DisplayFormat := 'dd.mm.yyyy hh:nn:ss';
//  TDateTimeField(grdKasse.Columns[7].Field).DisplayFormat:= 'dd.mm.yyyy hh:nn:ss';
  TCurrencyField(grdKasse.Columns[2].Field).DisplayFormat:= '###0.00';
  TCurrencyField(grdKasse.Columns[3].Field).DisplayFormat:= '###0.00';
  TCurrencyField(grdKasse.Columns[6].Field).DisplayFormat:= '###0.00';
end;
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: DateTime Anzeige in DBGrid ist bei der Zeit 00:00:00

  Alt 10. Jul 2022, 14:32
Dort steht nur "Date" als Typ.
Kann SQLite kein DateTime ? ich habe es aber im Create als DateTime angelegt.
Die Doku sagt dazu:
Zitat:
2.2. Date and Time Datatype
SQLite does not have a storage class set aside for storing dates and/or times. Instead, the built-in Date And Time Functions of SQLite are capable of storing dates and times as TEXT, REAL, or INTEGER values:

TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS").
REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.
Applications can choose to store dates and times in any of these formats and freely convert between formats using the built-in date and time functions.
Tatsache ist, dass das Feld als Date ankommt und nicht als DateTime. Warum das so ist, kann ich im Moment auch nicht sagen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Smiley
Smiley

Registriert seit: 9. Dez 2004
Ort: Gedern
210 Beiträge
 
Delphi 12 Athens
 
#8

AW: DateTime Anzeige in DBGrid ist bei der Zeit 00:00:00

  Alt 10. Jul 2022, 14:57
Gespeichert wird das Datum schon richtig mit Zeit, wie man im SQLiteSpy sieht, dort werden die Datumsangaben mit der richtigen Zeit angezeigt.

Etwas anderes noch mit der Formatangabe. Die Minuten werden mal mit mm und mal mit nn angegeben.
Selbst in DelphiBasics http://www.delphibasics.co.uk/RTL.as...formatdatetime wird es mal mit mm und nn angegeben.
nn = Minute number as 2 digits
LongTimeFormat = hh:mm:ss
Was ist denn nun richtig ?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: DateTime Anzeige in DBGrid ist bei der Zeit 00:00:00

  Alt 10. Jul 2022, 15:27
Gespeichert wird das Datum schon richtig mit Zeit, wie man im SQLiteSpy sieht, dort werden die Datumsangaben mit der richtigen Zeit angezeigt.
Allerdings steht dort auch als Typ "date" und FireDAC wandelt das in ein TDateField um. Vielleicht hilft es, wenn du beim Select das Feld explizit als DateTime castest.

Etwas anderes noch mit der Formatangabe. Die Minuten werden mal mit mm und mal mit nn angegeben.
Selbst in DelphiBasics http://www.delphibasics.co.uk/RTL.as...formatdatetime wird es mal mit mm und nn angegeben.
nn = Minute number as 2 digits
LongTimeFormat = hh:mm:ss
Was ist denn nun richtig ?
Formell korrekt ist hh:nn:ss (zur Unterscheidung vom Monat), aber die internen Routinen tolerieren auch ein hh:mm:ss. Letzteres ist wohl auch Windows geschuldet, das auf Anfrage genau dieses zurückgibt.
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
44.399 Beiträge
 
Delphi 12 Athens
 
#10

AW: DateTime Anzeige in DBGrid ist bei der Zeit 00:00:00

  Alt 10. Jul 2022, 16:41
Was sagt denn FieldType/DataType?
Und gibt es bei FireDAC nicht auch irgendwo die inneren TypInfos, also das was das DBMS/Treiber dem FD für einen Typ nennt?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:20 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