Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wiedermal Ärger mit DATE-Feldtyp in FB-Datenbank (https://www.delphipraxis.net/69256-wiedermal-aerger-mit-date-feldtyp-fb-datenbank.html)

Codehunter 12. Mai 2006 13:34

Datenbank: Firebird • Version: 1.5.1 • Zugriff über: ZEOS

Wiedermal Ärger mit DATE-Feldtyp in FB-Datenbank
 
Ich hab mal wieder Ärger mit dem DATE-Feldtyp. Wenn ich ein INSERT mache mit einem Zeitwert im Format dd.mm.jjjj hh:mm:ss dann bekomme ich einen Conversion Error. Das Feld in der Tabelle verwendet eine Domain mit folgender DDL:

CREATE DOMAIN TDATETIME AS DATE

Wenn ich mit IBExpert einen Datensatz in die Tabelle einfüge dann verwendet der beim betreffenden Feld nur das Zeitformat dd.mm.jjjj also ohne Uhrzeitangabe.

Komischerweise in einer anderen Datenbank wo Domains mit einer identischen DDL verwendet werden, fügt IBExpert die Daten im Format dd.mm.jjjj hh:mm:ss ein.

Worin unterscheiden sich die beiden Tabellen? Ist eine Domain mit dem Typ DATE nicht immer das selbe? Muß ich beim Erzeugen der Datenbank (erfolgt dynamisch mit ZEOS) noch irgendwas angeben damit DATE-Typen auch die Uhrzeit enthalten?

MagicAndre1981 12. Mai 2006 13:40

Re: Wiedermal Ärger mit DATE-Feldtyp in FB-Datenbank
 
Welchen SQLDialekt /1 oder 3) haben beide DBs?

Codehunter 12. Mai 2006 13:48

Re: Wiedermal Ärger mit DATE-Feldtyp in FB-Datenbank
 
Das ist ne gute Frage. Ich habe das in beiden Datenbanken nicht explizit angegeben. Die erste Datenbank habe ich mit IBExpert von Hand zusammengeklickt, dann die dortige DDL genommen und vom ZEOS abarbeiten lassen. Daraus ist die zweite DDL entstanden. Soweit ich weiß setzt ZEOS standardmäßig den Dialekt 3 ein. Welcher von IBExpert genommen wird weiß ich nicht. Kann man irgendwo sehen welchen Dialekt die DB verwendet?

MagicAndre1981 12. Mai 2006 13:50

Re: Wiedermal Ärger mit DATE-Feldtyp in FB-Datenbank
 
Wenn du im IBEpxert die DB einbindest siehst du die Info, welchen Dialekt die Db verwendet.

http://www.firebirdsql.org/index.php?op=faq

Zitat:

How do the SQL dialects differ?

SQL Item Dialect 3 Dialect 2 * Dialect 1 **
DATE Date only ERROR Message Date & Time (Timestamp)
TIMESTAMP Timestamp Timestamp Timestamp (v.6.x only)
daran hapert es wohl bei dir.

Codehunter 12. Mai 2006 14:04

Re: Wiedermal Ärger mit DATE-Feldtyp in FB-Datenbank
 
Ok, die handgemalte DB hat Dialekt 1, die dynamisch erstellte DB hat Dialekt 3. Wenn ich aber beim dynamischen Erstellen den Dialekt 1 angebe dann bekomme ich permanent Probleme beim Erzeugen der Domains.

MagicAndre1981 12. Mai 2006 14:06

Re: Wiedermal Ärger mit DATE-Feldtyp in FB-Datenbank
 
Zitat:

Zitat von Codehunter
Wenn ich aber beim dynamischen Erstellen den Dialekt 1 angebe dann bekomme ich permanent Probleme beim Erzeugen der Domains.

Welche Probleme? Bekommst du Fehlermeldungen?

mkinzler 12. Mai 2006 14:08

Re: Wiedermal Ärger mit DATE-Feldtyp in FB-Datenbank
 
Ich würde auch keine Dialect-1 Datenbank erstellen. Diese brauchst du nur beim Umgang mit pre IB-6 Datenbanken.

Codehunter 12. Mai 2006 14:13

Re: Wiedermal Ärger mit DATE-Feldtyp in FB-Datenbank
 
Also soweit ich mich mich belesen habe unterstützt nur Dialekt 1 DATE-Typen mit Uhrzeitangabe. Wenn ich aber die DB dynamisch mit Dialekt 1 erzeuge bekomme ich Fehlermeldungen daß z.B. CREATE DOMAIN XYZ AS NUMERIC(11,0) nicht gehen würde. Auch DECIMAL(15,4) geht da nicht. Also habe ich Dialekt 3 benutzt wo das alles kein Problem war. Nur eben die Sache mit dem Datum. Ich brauche die Möglichkeit, Zeitangaben mit Datum UND Uhrzeit zu speichern.

mkinzler 12. Mai 2006 14:17

Re: Wiedermal Ärger mit DATE-Feldtyp in FB-Datenbank
 
In Dialect-3 heißt der Typ TIMESTAMP

Codehunter 12. Mai 2006 14:21

Re: Wiedermal Ärger mit DATE-Feldtyp in FB-Datenbank
 
Vielen Dank! Das war die Lösung. Ich verwende jetzt Dialekt 3 und als Typ für die Datumsdomain nicht mehr DATE sondern TIMESTAMP. Damit läuft erstmal alles so wie ich es mir vorgestellt habe.


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

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