AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Datumsformat aus View im Grid falsch
Thema durchsuchen
Ansicht
Themen-Optionen

Datumsformat aus View im Grid falsch

Ein Thema von tkhandel · begonnen am 7. Nov 2023 · letzter Beitrag vom 8. Nov 2023
Antwort Antwort
Seite 1 von 2  1 2      
tkhandel

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

Datumsformat aus View im Grid falsch

  Alt 7. Nov 2023, 09:49
Datenbank: MSSQL Express • Version: 2019 • Zugriff über: delphi 10.4
Hallo,
ich bekomme es nicht hin das Datum im Grid im deutschen Format anzuzeigen.
Der Zugriff erfolgt über ADO und aus einer Sicht

SELECT CONVERT(Date, dbo.Lagerbuchungen.BuchungAm, 104) AS Datum

SQl-Server Express und Managment Studio sind auf German eingestellt
PC natürlich auch und Displayformat gibt es anscheinend nicht bei
einem Select aus seiner View.

Komplette View sieht so aus:

SELECT CONVERT(Date, dbo.Lagerbuchungen.BuchungAm, 104) AS Datum, dbo.Lagerbuchungen.Menge, dbo.Lagerbuchungen.BestandNeu AS neu, dbo.Lagerbuchungen.Mitarbeiter, dbo.Lagerbuchungen.Rechner,
dbo.Lagerbuchungen.Lieferschein, dbo.Lagerbuchungen.Entnahmeschein, dbo.Lagerbuchungen.Buchungshinweis, dbo.Lieferanten.Firma1 AS Lieferant, dbo.Artikel.Artikelnr, dbo.Artikel.Artikelbezeichnung, dbo.Artikel.Min,
dbo.Baustellen.Bauvorhaben, dbo.Baustellen.Auftragsnr, dbo.Bautrupp.Bautrupp, dbo.Kunden.Firma1 AS Kunde, dbo.Artikel.Hersteller, dbo.Lagerbuchungen.BuchungVon, dbo.Lagerbuchungen.Id, dbo.Artikel.Ist
FROM dbo.Lagerbuchungen LEFT OUTER JOIN
dbo.Kunden ON dbo.Kunden.Id = dbo.Lagerbuchungen.KundeId LEFT OUTER JOIN
dbo.Baustellen ON dbo.Baustellen.Id = dbo.Lagerbuchungen.BaustelleId LEFT OUTER JOIN
dbo.Bautrupp ON dbo.Bautrupp.Id = dbo.Lagerbuchungen.BautruppId LEFT OUTER JOIN
dbo.Lieferanten ON dbo.Lieferanten.Id = dbo.Lagerbuchungen.LieferantId LEFT OUTER JOIN
dbo.Artikel ON dbo.Artikel.Id = dbo.Lagerbuchungen.ArtikelId
WHERE (dbo.Lagerbuchungen.Id IS NOT NULL)
Miniaturansicht angehängter Grafiken
grid-datum.jpg  
Jürgen
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Datumsformat aus View im Grid falsch

  Alt 7. Nov 2023, 10:06
Warum überhaupt die Konvertierung im Server? Wenn das Datumsfeld in Delphi-Programm ankommt sollte die Formatierung eigentlich automatisch anhand der Windows-Einstellungen erfolgen.
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.033 Beiträge
 
Delphi 12 Athens
 
#3

AW: Datumsformat aus View im Grid falsch

  Alt 7. Nov 2023, 10:29
Datum als einen DateTime/TimeStamp-Typ zurückgeben, welches die Komponenten im Client-Programm verstehen ... das wird dann "standardmäßig" mit den aktuellen lokalen Sprachsettings angezeigt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
tkhandel

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

AW: Datumsformat aus View im Grid falsch

  Alt 7. Nov 2023, 10:48
Hallo,
ich brauche nur das Datum ohne Zeit deshalb die Konvertierung
sonst funktionieren meine Filter im Grid nicht mehr.
Jürgen
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#5

AW: Datumsformat aus View im Grid falsch

  Alt 7. Nov 2023, 12:37
Hier mal eine Idee:
Delphi-Quellcode:
procedure TForm1.AfterOpen(DataSet: TDataSet);
var
  i : Integer;
begin
  for i := 0 to DataSet.Fields.Count - 1 do begin
    case DataSet.Fields[i].DataType of
      ftDate, ftDateTime : TDateTimeField(DataSet.Fields[i]).DisplayFormat := 'DD.MM.YYYY';
    end;
  end;
end;
Dazu im SQL die Konvertierung entfernen.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Datumsformat aus View im Grid falsch

  Alt 7. Nov 2023, 12:46
Das funktioniert aber nur solange die Filter auf das DisplayFormat reagieren.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delphi.Narium

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

AW: Datumsformat aus View im Grid falsch

  Alt 7. Nov 2023, 12:55
Naja, die können ja den Datumswert aus der Spalte immer per Trunc nehmen, dann ist auch im Filter der Zeitanteil weg. Oder per Filter := FormatDateTime('dd.mm.yyyy',Datumsspalte)

Für eine garantiert funktionierende Lösung fehlen noch zuviele Informationen.

Wie sehen die Filter aus? Wie werden sie zusammengebaut. Sollen sie für weitere, aus der DB oder sonstwoher, zu holende Daten dienen, oder soll einfach nur im Grid eine Teilmenge selektiert werden, oder, oder, oder ...?
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Datumsformat aus View im Grid falsch

  Alt 7. Nov 2023, 13:14
SELECT CONVERT(Date, dbo.Lagerbuchungen.BuchungAm, 104) AS Datum
Ich glaube, hier liegt ein Denkfehler vor. Das Convert wird in diesem Fall die Formatvorgaben 104 ignorieren, da in den Typ Date konvertiert wird. Dann wird wieder der Standard der DB-Einstellungen verwendet. Trägst du dort aber varchar ein, sollte die Formatierung funktionieren:
Code:
SELECT CONVERT(Varchar, dbo.Lagerbuchungen.BuchungAm, 104) AS Datum
Allerdings fängst du dir damit Folgeprobleme ein. Falls du z.B. Datumsfilter nutzt, dürften die nicht mehr richtig funktionieren, da ein varchar/String nunmal kein date/TDate ist.

Irgendwo hast du eine grundsätzlich fehlerhafte Einstellung, was das Datumsformat betrifft. Das kann in Windows sein, in den DB-Komponenten, in den Anwendungseinstellungen, etc.
Das ist der Fehler, der behoben werden muss.
Peter
  Mit Zitat antworten Zitat
Papaschlumpf73

Registriert seit: 3. Mär 2014
Ort: Berlin
434 Beiträge
 
Delphi 12 Athens
 
#9

AW: Datumsformat aus View im Grid falsch

  Alt 7. Nov 2023, 13:58
Dafür habe ich meine kleine SQL-Funktion; geht natürlich auch ohne sep. Funktion - so kommt am Ende ein echtes TDateTimeField ohne Zeitanteil raus

ALTER FUNCTION [dbo].[GetDatePart] (@DateTimeValue datetime)
RETURNS datetime AS
BEGIN
RETURN (CONVERT(DateTime, CONVERT(Char, @DateTimeValue, 104), 104))
END
  Mit Zitat antworten Zitat
Koeh72

Registriert seit: 15. Aug 2013
Ort: Schweinfurt
3 Beiträge
 
Delphi XE8 Enterprise
 
#10

AW: Datumsformat aus View im Grid falsch

  Alt 7. Nov 2023, 22:49
Imho würde hier ein Einfaches cast(<DateTimeValue> as date) eventuell Wunder wirken.
Die Wandlung in die deutsche Darstellung dd.mm.yyyy sollte dann entweder die anzeigende Komponente oder der entsprechende Eventhandler erledigen.
Soll die DB das Datum formatiert (dann aber als String/char) liefern:
format(<DateTimeValue>, 'dd.MM.yyyy')
Alternativ format(<DateTimeValue>, 'd', 'de-de')
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:44 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