Databáze > MS SQL

Adoquery a cas

(1/2) > >>

jarex:
Toto zahlásí konversion error při pokusu o zápis do databáze.


--- Kód: ---var
tm: tdatetime;

begin
fmt.ShortDateFormat:='dd/mm/yyyy';
fmt.DateSeparator  :='/';
fmt.LongTimeFormat :='hh:nn:ss';
fmt.TimeSeparator  :=':';

tm:=strtodatetime('23/02/2017 12:30:10', fmt);


adoquery1.sql.text := 'SELECT * FROM Vlacky';
adoquery1.open;
adoquery1.insert;
adoquery1.fieldbyname('datum').asdatetime := tm;
--- Konec kódu ---

toto projde:


--- Kód: ---var
tm: tdatetime;

begin


tm:=now;


adoquery1.sql.text := 'SELECT * FROM Vlacky';
adoquery1.open;
adoquery1.insert;
adoquery1.fieldbyname('datum').asdatetime := tm;
--- Konec kódu ---


Proč?

datum je v databázi jako date


Poradil by prosím moc někdo, jak zapsat datum a jak zapsat čas?

Děkuji moc

Stanislav Hruška:
Neporadím, ale už ten dátum Ti nemôže prejsť. V takom prípade ho musíš mať Rok/Mesiac/Deň. Ale na to sú iné funkcie. DecodeDate, EncodeDate a spol.

Mi.Chal.:
No a jakou chybu to píše? Někde hh znamená 12 hodinový formát času, takže tam mohou být hodnoty 0-11 a AM/PM, HH je 24 hodinový. Jestli máš ty jednotlivé složky, tak bych to prostě složil přes ten encodeNeco a zapsalo přímo insertem do db.

jarex:

--- Kód: ---tm := EncodeTime(19, 34, 56, 789);
   tm:=tm+ Encodedate(2015, 12, 04);

   ShowMessage(DateToStr(tm));
   ShowMessage(TimeToStr(tm));


adoquery1.sql.text := 'SELECT * FROM Vlacky';;
adoquery1.open;
adoquery1.insert;
adoquery1.fieldbyname('Cislo').asstring := quotedstr('value1');
adoquery1.fieldbyname('Stav').asstring := quotedstr('value2');
//adoquery1.fieldbyname('datum').asdatetime := datetimepicker2.date;
adoquery1.fieldbyname('cas').asdatetime := tm;
adoquery1.post;
adoQuery1.Close;
--- Konec kódu ---

Cas v poradku, datum taky.
Chyba z Debuger Exception Notification:
Conversion failed when converting date and/or time from character string.
Vůbec tomu nerozumim co se myslí tím from character string.

vandrovnik:
A co vrací adoquery1.fieldbyname('cas').ClassName? Jestli to z nějakého důvodu nechápe jako textové pole...

Navigace

[0] Seznam témat

[#] Další strana

Přejít na plnou verzi