Firebird 1.5.3 dátum hiba

Firebird 1.5.3 dátum hiba
2006-12-18T20:15:13+01:00
2006-12-23T11:13:02+01:00
2022-11-02T17:10:44+01:00
*deleted_42098963
Sziasztok!

A következő lenne a problémám:
Firebird 1.5.3 rendszernél sima dátumot szeretnék csak felvinni, be is állítottam a mezőt "Date"
típusra, és a programból ha INSERT INTO-val dátumot szeretnék felvitetni, akkor nem csak
a dátumot viszi fel, hanem valamilyen időt is ír mögé (nem csak a Delphiben megírt programból
ír időpontot is, hanem EMS SQL Manager 2005 for Firebird-ben is!). De én csak dátumot akarok felvinni, és
időt nem. Mi a gond?

Így veszek fel új rekordot Delphi 7-ben:

with IBQuery do begin Close; SQL.Clear; SQL.Add('INSERT INTO Datumok(Mezo1, Datum)'); SQL.Add(' VALUES (:Mezo1, :Datum)'); ParamByName('Mezo1').AsString := Mezo1.Text; ParamByName('Datum').AsDate := Datum.Date; ExecSQL; // Majd kilistázom az összes rekordot... Close; SQL.Clear; SQL.Add('SELECT *'); SQL.Add('FROM Tabla'); Open;

A Charset : ISO8859_2.
A Font Charset : DEFAULT_CHARSET.
Ha módosítok UPDATE-tel, akkor is ír időt a dátum mögé!

Ui.: De ugyanezzel a kóddal később egyszer működött, egyszer nem, tehát egyszer mögéírta az időt,
egyszer nem.

Mi a gond?
Mutasd a teljes hozzászólást!
Hi!

A DATE típusú mező már csak ilyen. Ilyen Oracle-ben is. Ha nem akarod, hogy megjelenjen az idő (tárolása ugyan olyan, csak nem jeleníti meg), akkor az órát 00:00-ra kell állítanod. Vagyis le kell vágni az óra/perc részt:
ParamByName('Datum').AsDate:=Trunc(Datum.Date);
Persze mindegy, hogy AsDate-t, vagy AsDateTime-t használsz.

Alex
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd