Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Zugriff auf Datumswert in Datenbank (https://www.delphipraxis.net/169857-zugriff-auf-datumswert-datenbank.html)

pixfreak 16. Aug 2012 14:38

Datenbank: SQL Server • Version: 2012 • Zugriff über: SDAC

Zugriff auf Datumswert in Datenbank
 
Hallo zusammen,

ich stehe hier gerade vor einem kleinem Problem und bekomme die Krise...:wall:

Ich versuche aus einer Datenbank ein Datumswert aus einer Tabelle auszulesen. Das Feld hat den Typ date.

Wenn ich nun den Wert als DateTime auslesen will klappt das auf meinem PC einwandfrei und beim zweiten PC knallt es dann mit einer EConvertError Exception, da yyyy-mm-dd kein gültiges Datum sei. Ich greife wie folgt zu:

Delphi-Quellcode:
datum := query.FieldByName('gueltigbis').AsDateTime;
Normalerweise sollte doch SDac sich um die Datumsübername kümmern... Und vor allem warum geht es auf einem PC und auf dem anderen nicht? (Die Umgebungseinstellungen passen und die Datenbank liefert auch im dmy Format...)

Ein AsDate oder AsTime gibt es ja auch nicht. Hat jemand eine Idee?


VG Pixfreak

mkinzler 16. Aug 2012 14:49

AW: Zugriff auf Datumswert in Datenbank
 
Warum nichtr .Value?

pixfreak 16. Aug 2012 14:56

AW: Zugriff auf Datumswert in Datenbank
 
Hi,

dann bekomme ich den Fehler, dass die Unicodevariante nicht nach double konvertiert werden kann...

Im Moment absolut ratlos... Dies sollte doch eigentlich kein Problem sein !?!?


VG Pixfreak

FBrust 16. Aug 2012 14:57

AW: Zugriff auf Datumswert in Datenbank
 
Hallo,

könnte das vielleicht an dem bekannten Windows-7-hat-englische-Datumseinstellungen-Problem liegen? Dabei werden deutsche Einstellungen angezeigt, aber hinterlegt sind die englischen.

Das betrifft die Rechner mit vorinstalliertem Windows 7. Vielleicht einfach mal an dem anderen PC die Ländereinstellungen auf "Englisch" stellen (welches ist egal), abspeichern und dann direkt wieder auf "Deutsch" umstellen.

Gruß
Frank

mkinzler 16. Aug 2012 15:01

AW: Zugriff auf Datumswert in Datenbank
 
Das Feld hat wohl einen Stringtyp. hat das einen bestimmten Grund?

pixfreak 16. Aug 2012 15:08

AW: Zugriff auf Datumswert in Datenbank
 
Wenn ich das wüsste.

In der Tabelle steht dort explizit "date"...

Die Ländereinstellungen habe ich eben auch mal geändert, ohne Erfolg...


VG Pixfreak

Bummi 16. Aug 2012 15:17

AW: Zugriff auf Datumswert in Datenbank
 
Was steht denn im OI wenn Du das Feld persistent machst?
Gegf. ein "Treiber"-Problem

pixfreak 16. Aug 2012 16:03

AW: Zugriff auf Datumswert in Datenbank
 
@Bummi: Entweder stehe ich auf dem Schlauch, oder ich kann das bei den SDac Komponenten nicht explizit auswählen...

Was mich nur wundert: Wenn ich einzeln auf das Feld zugreife gibt es einen Fehler, im Grid wird es dargestellt, als yyyy-mm-dd (warscheinlich als String...).

Ich habe mal ein SetFieldType angewendet, ohne Besserung...


VG Pixfreak

Bernhard Geyer 16. Aug 2012 16:08

AW: Zugriff auf Datumswert in Datenbank
 
Aktuelle Version von SDAC im Einsatz? Du setzt ja auch den neuesten MS-SQL Server ein und wer weiß ob hier im internen Serverprotokoll was geändert wurde ...

Furtbichler 16. Aug 2012 16:10

AW: Zugriff auf Datumswert in Datenbank
 
Der Datentyp 'Date' wird nur ungenügend unterstützt. Bei SDAC weiß ich das aber nicht so genau (gehe aber davon aus). Falls Du den Typ auf 'DateTime' ändern kannst, sollte es keine Probleme geben.

Falls Du den Datentypen nicht ändern kannst, dann verwende eine Query und caste auf DateTime.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 Uhr.
Seite 1 von 2  1 2      

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