Databáze > MS SQL

ADO datetime ukládání včetně milisekund

<< < (3/3)

pf1957:

--- Citace: Delfin  15-04-2019, 11:48:27 ---A DataType objektu daneho pole je ftDateTime? Neni textoveho typu jak zminuje linkovane vlakno ze Stack Overflow pro sloupec DATETIME2? Paklize by tomu tak bylo, implicitni konverzi z datumocasu na text by doslo prave ke ztrate hodnoty milisekund.

--- Konce citace ---
Ja bych se podival, jestli pouzivas nativniho klienta, kdyz se pouzije nejaky ten obskurni universal SQL Server nebo jak se to jmenuje, tak ten prave nektere datove typy prasi pres stringy a leze z nej huhvi co. Nam fallback na takovy driver (nejnovejsi driver FireDAC neumi vyhledat) docela zamotal hlavu, nez jsme prisli, o co se jedna. Zkus mu klienta explicitne specifikovat https://docs.microsoft.com/en-us/sql/relational-databases/native-client/applications/using-ado-with-sql-server-native-client?view=sql-server-2017

jaja:
prirazeni jako string ulozi casovou znamku, ale bez milisekund, resp. milisekundy jsou 0:
FieldByName('HeartBeat').AsString:=FormatDateTime('DD.MM.YYYY hh:nn:ss.zzz', now)

pokud zkusim jako Variant:

--- Kód: Delphi ---var v: variant;      v:= variant(formatdatetime('dd.mm.yyyy hh:nn:ss.zzz',now));      FieldByName('HeartBeat').AsVariant:=v; pak vyjimka: EVariantTypeCastError with message'Could not convert variant of type (UnicodeString) into type (Date)'.

jaja:
pouzity provider OLE DB:
Provider=SQLOLEDB.1;Persist Security Info=True;Initial Catalog=Database;Data Source=.\SQLEXPRESS

Stanislav Hruška:
Skúšal si tú hodnotu odovzdať do query cez parameter?

Michal:
S tímhle jsem se kdysi dost natrápil a nebyl jsem schopen přijít na nic funkčního. Nakonec jsem použil zápis záznamu bez milisekund a následný update. Vím že to není čistý, nic jiného mi bohužel nezafungovalo.
Michal

Navigace

[0] Seznam témat

[*] Předchozí strana

Přejít na plnou verzi