Thread View: pl.comp.lang.delphi.bazy-danych
8 messages
8 total messages
Started by moxi
Thu, 01 Oct 2015 12:58
AsFloat (Firebird + zeos + CodeTyphon)
Author: moxi
Date: Thu, 01 Oct 2015 12:58
Date: Thu, 01 Oct 2015 12:58
27 lines
1792 bytes
1792 bytes
Witam,
trafilem na dziwne zachowanie zestawu z tematu, upraszczajac mam w FB
pole: WARTOSC Decimal(10,2) a w kodzie:
ZQueryFB.SQL.Text := 'INSERT INTO TabelaX (WARTOSC_X) VALUES (:Parametr);';
ZQueryX.ParamByName('Parametr').AsFloat :=
ZQueryY.FieldByName('WARTOSC_Y').AsFloat;
pod Windows dziala dobrze a jako cross dla Linux zaczynaja sie chece tzn
w bazie zawsze laduje mi 0.00, sprawdzilem przypisanie
ZQueryX.ParamByName('Parametr').AsFloat := 1.23;
i jest ok, prawidlowa wartosc pojawia sie w bazie, natomiast
WriteLn(ZQueryY.FieldByName('WARTOSC_Y').AsString);
sa dziwne wartosci, np dla 634,00 podaje 1.35855497866354E-12 a powinno
przeciez byc 6.34E+2, co moze byc tego powodem? jak to obejsc?
FB 2.5, zeos 7.2 rev 3645, CT 5.2
wszystko 64 bit
Pozdrawiam,
moxi
Re: AsFloat (Firebird + zeos + CodeTyphon)
Author: wloochacz
Date: Thu, 01 Oct 2015 14:14
Date: Thu, 01 Oct 2015 14:14
32 lines
2125 bytes
2125 bytes
W dniu 2015-10-01 o 14:58, moxi pisze:
> Witam,
>
> trafilem na dziwne zachowanie zestawu z tematu, upraszczajac mam w FB
> pole: WARTOSC Decimal(10,2) a w kodzie:
>
> ZQueryFB.SQL.Text := 'INSERT INTO TabelaX (WARTOSC_X) VALUES (:Parametr);';
>
> ZQueryX.ParamByName('Parametr').AsFloat :=
> ZQueryY.FieldByName('WARTOSC_Y').AsFloat;
>
> pod Windows dziala dobrze a jako cross dla Linux zaczynaja sie chece tzn
> w bazie zawsze laduje mi 0.00, sprawdzilem przypisanie
>
> ZQueryX.ParamByName('Parametr').AsFloat := 1.23;
>
> i jest ok, prawidlowa wartosc pojawia sie w bazie, natomiast
>
> WriteLn(ZQueryY.FieldByName('WARTOSC_Y').AsString);
>
> sa dziwne wartosci, np dla 634,00 podaje 1.35855497866354E-12 a powinno
> przeciez byc 6.34E+2, co moze byc tego powodem? jak to obejsc?
>
> FB 2.5, zeos 7.2 rev 3645, CT 5.2
> wszystko 64 bit
Tylko strzelam, ale...
Dlaczego nie ZQueryX.ParamByName('Parametr').Value lub
ZQueryX.ParamByName('Parametr').AsCurrency?
--
wloochacz
Re: AsFloat (Firebird + zeos + CodeTyphon)
Author: miab
Date: Thu, 01 Oct 2015 16:25
Date: Thu, 01 Oct 2015 16:25
34 lines
2118 bytes
2118 bytes
W dniu 2015-10-01 o 14:58, moxi pisze:
> Witam,
>
> trafilem na dziwne zachowanie zestawu z tematu, upraszczajac mam w FB
> pole: WARTOSC Decimal(10,2) a w kodzie:
>
> ZQueryFB.SQL.Text := 'INSERT INTO TabelaX (WARTOSC_X) VALUES (:Parametr);';
>
> ZQueryX.ParamByName('Parametr').AsFloat :=
> ZQueryY.FieldByName('WARTOSC_Y').AsFloat;
>
> pod Windows dziala dobrze a jako cross dla Linux zaczynaja sie chece tzn
> w bazie zawsze laduje mi 0.00, sprawdzilem przypisanie
>
> ZQueryX.ParamByName('Parametr').AsFloat := 1.23;
>
> i jest ok, prawidlowa wartosc pojawia sie w bazie, natomiast
>
> WriteLn(ZQueryY.FieldByName('WARTOSC_Y').AsString);
>
> sa dziwne wartosci, np dla 634,00 podaje 1.35855497866354E-12 a powinno
> przeciez byc 6.34E+2, co moze byc tego powodem? jak to obejsc?
>
> FB 2.5, zeos 7.2 rev 3645, CT 5.2
> wszystko 64 bit
>
U mnie na Debian8-64, Zeos 7.2 svn 3636, Lazarus 1.4, FB2.54 prawidłowo
zwraca np.:
Edit1.Text:=ZQuery1.FieldByName('F10_1').AsString
Może w tym CodeTyphon 5.2 coś jest położone.
Ostatnio używałem 5.4 z aktualizacjami ale tylko na Windows 32/64.
miab
Re: AsFloat (Firebird + zeos + CodeTyphon)
Author: moxi
Date: Fri, 02 Oct 2015 10:43
Date: Fri, 02 Oct 2015 10:43
41 lines
2798 bytes
2798 bytes
W dniu 2015-10-01 o 16:14, wloochacz pisze:
> W dniu 2015-10-01 o 14:58, moxi pisze:
>> Witam,
>>
>> trafilem na dziwne zachowanie zestawu z tematu, upraszczajac mam w FB
>> pole: WARTOSC Decimal(10,2) a w kodzie:
>>
>> ZQueryFB.SQL.Text := 'INSERT INTO TabelaX (WARTOSC_X) VALUES
>> (:Parametr);';
>>
>> ZQueryX.ParamByName('Parametr').AsFloat :=
>> ZQueryY.FieldByName('WARTOSC_Y').AsFloat;
>>
>> pod Windows dziala dobrze a jako cross dla Linux zaczynaja sie chece tzn
>> w bazie zawsze laduje mi 0.00, sprawdzilem przypisanie
>>
>> ZQueryX.ParamByName('Parametr').AsFloat := 1.23;
>>
>> i jest ok, prawidlowa wartosc pojawia sie w bazie, natomiast
>>
>> WriteLn(ZQueryY.FieldByName('WARTOSC_Y').AsString);
>>
>> sa dziwne wartosci, np dla 634,00 podaje 1.35855497866354E-12 a powinno
>> przeciez byc 6.34E+2, co moze byc tego powodem? jak to obejsc?
>>
>> FB 2.5, zeos 7.2 rev 3645, CT 5.2
>> wszystko 64 bit
> Tylko strzelam, ale...
> Dlaczego nie ZQueryX.ParamByName('Parametr').Value lub
> ZQueryX.ParamByName('Parametr').AsCurrency?
>
>
słuszna uwaga, oczywiście mam ZQueryX.ParamByName('Parametr').Value ale
w ramach lekkiego nerwa zdarza mi się testować różne dziwne konstrukcje
;) sprawdziłem wszystkie możliwości i w każdej zwraca złą wartość :( a
tak w zasadzie to pomijając wydajność nie powinno mieć znaczenia, której
wersji użyje, dochodzą tylko niepotrzebne konwersje pomiędzy typami, no
chyba że jest tam coś więcej czego nie doczytałem...
--
moxi
Re: AsFloat (Firebird + zeos + CodeTyphon)
Author: moxi
Date: Fri, 02 Oct 2015 10:57
Date: Fri, 02 Oct 2015 10:57
51 lines
3019 bytes
3019 bytes
W dniu 2015-10-01 o 18:25, miab pisze:
> W dniu 2015-10-01 o 14:58, moxi pisze:
>> Witam,
>>
>> trafilem na dziwne zachowanie zestawu z tematu, upraszczajac mam w FB
>> pole: WARTOSC Decimal(10,2) a w kodzie:
>>
>> ZQueryFB.SQL.Text := 'INSERT INTO TabelaX (WARTOSC_X) VALUES
>> (:Parametr);';
>>
>> ZQueryX.ParamByName('Parametr').AsFloat :=
>> ZQueryY.FieldByName('WARTOSC_Y').AsFloat;
>>
>> pod Windows dziala dobrze a jako cross dla Linux zaczynaja sie chece tzn
>> w bazie zawsze laduje mi 0.00, sprawdzilem przypisanie
>>
>> ZQueryX.ParamByName('Parametr').AsFloat := 1.23;
>>
>> i jest ok, prawidlowa wartosc pojawia sie w bazie, natomiast
>>
>> WriteLn(ZQueryY.FieldByName('WARTOSC_Y').AsString);
>>
>> sa dziwne wartosci, np dla 634,00 podaje 1.35855497866354E-12 a powinno
>> przeciez byc 6.34E+2, co moze byc tego powodem? jak to obejsc?
>>
>> FB 2.5, zeos 7.2 rev 3645, CT 5.2
>> wszystko 64 bit
>>
>
> U mnie na Debian8-64, Zeos 7.2 svn 3636, Lazarus 1.4, FB2.54 prawidłowo
> zwraca np.:
> Edit1.Text:=ZQuery1.FieldByName('F10_1').AsString
> Może w tym CodeTyphon 5.2 coś jest położone.
też tak myślałem ale jakoś bardziej prawdopodobne wydawało mi się że nie
znam jakiegoś myka na linux
> Ostatnio używałem 5.4 z aktualizacjami ale tylko na Windows 32/64.
sprawdziłem 5.4 i 5.5 ale tam niestety nie działa cross do linuxa,
zupełnie nie kompiluje się toolchain dla linuxa :( wiec wróciłem do 5.2
i zaktualizowałem komponenty :)
ale chyba znalazłem winowajcę, ponieważ na tej samej bazie i
komponentach pod win działa a na linux nie zacząłem zastanawiać się nad
biblioteką klienta FB, na serwerze testowym zaktualizowałem FB do
najnowszej wersji i wszystko poszło :) w poniedziałek będę wiedział czy
na produkcyjnych też to pomogło :)
--
moxi
Re: AsFloat (Firebird + zeos + CodeTyphon)
Author: Eugeniusz Rink
Date: Wed, 21 Oct 2015 07:26
Date: Wed, 21 Oct 2015 07:26
63 lines
3561 bytes
3561 bytes
W dniu 02.10.2015 o 12:57, moxi pisze:
> W dniu 2015-10-01 o 18:25, miab pisze:
>> W dniu 2015-10-01 o 14:58, moxi pisze:
>>> Witam,
>>>
>>> trafilem na dziwne zachowanie zestawu z tematu, upraszczajac mam w FB
>>> pole: WARTOSC Decimal(10,2) a w kodzie:
>>>
>>> ZQueryFB.SQL.Text := 'INSERT INTO TabelaX (WARTOSC_X) VALUES
>>> (:Parametr);';
>>>
>>> ZQueryX.ParamByName('Parametr').AsFloat :=
>>> ZQueryY.FieldByName('WARTOSC_Y').AsFloat;
>>>
>>> pod Windows dziala dobrze a jako cross dla Linux zaczynaja sie chece tzn
>>> w bazie zawsze laduje mi 0.00, sprawdzilem przypisanie
>>>
>>> ZQueryX.ParamByName('Parametr').AsFloat := 1.23;
>>>
>>> i jest ok, prawidlowa wartosc pojawia sie w bazie, natomiast
>>>
>>> WriteLn(ZQueryY.FieldByName('WARTOSC_Y').AsString);
>>>
>>> sa dziwne wartosci, np dla 634,00 podaje 1.35855497866354E-12 a powinno
>>> przeciez byc 6.34E+2, co moze byc tego powodem? jak to obejsc?
>>>
>>> FB 2.5, zeos 7.2 rev 3645, CT 5.2
>>> wszystko 64 bit
>>>
>>
>> U mnie na Debian8-64, Zeos 7.2 svn 3636, Lazarus 1.4, FB2.54 prawidłowo
>> zwraca np.:
>> Edit1.Text:=ZQuery1.FieldByName('F10_1').AsString
>> Może w tym CodeTyphon 5.2 coś jest położone.
>
> też tak myślałem ale jakoś bardziej prawdopodobne wydawało mi się że nie
> znam jakiegoś myka na linux
>
>> Ostatnio używałem 5.4 z aktualizacjami ale tylko na Windows 32/64.
>
> sprawdziłem 5.4 i 5.5 ale tam niestety nie działa cross do linuxa,
> zupełnie nie kompiluje się toolchain dla linuxa :( wiec wróciłem do 5.2
> i zaktualizowałem komponenty :)
>
> ale chyba znalazłem winowajcę, ponieważ na tej samej bazie i
> komponentach pod win działa a na linux nie zacząłem zastanawiać się nad
> biblioteką klienta FB, na serwerze testowym zaktualizowałem FB do
> najnowszej wersji i wszystko poszło :) w poniedziałek będę wiedział czy
> na produkcyjnych też to pomogło :)
>
Witam...
Tak z czystej ciekawości... jaką to aplikację Kolega na Linux buduje??
Chodzi mi czy to jakiś program magazynowy, sprzedaż, księgowość itp??
Akurat też piszę w podobnym zestawieniu narzędziowym na Linux więc
jestem ciekaw... A tworzymy oprogramowanie dla lekarzy POZ AOS...
Jeżeli to nie jest tajemnicą
Pozdrawiam
Eugeniusz Rink
Re: AsFloat (Firebird + zeos + CodeTyphon)
Author: moxi
Date: Mon, 20 Jun 2016 09:14
Date: Mon, 20 Jun 2016 09:14
69 lines
3822 bytes
3822 bytes
>>> trafilem na dziwne zachowanie zestawu z tematu, upraszczajac mam w FB
>>> pole: WARTOSC Decimal(10,2) a w kodzie:
>>>
>>> ZQueryFB.SQL.Text := 'INSERT INTO TabelaX (WARTOSC_X) VALUES
>>> (:Parametr);';
>>>
>>> ZQueryX.ParamByName('Parametr').AsFloat :=
>>> ZQueryY.FieldByName('WARTOSC_Y').AsFloat;
>>>
>>> pod Windows dziala dobrze a jako cross dla Linux zaczynaja sie chece tzn
>>> w bazie zawsze laduje mi 0.00, sprawdzilem przypisanie
>>>
>>> ZQueryX.ParamByName('Parametr').AsFloat := 1.23;
>>>
>>> i jest ok, prawidlowa wartosc pojawia sie w bazie, natomiast
>>>
>>> WriteLn(ZQueryY.FieldByName('WARTOSC_Y').AsString);
>>>
>>> sa dziwne wartosci, np dla 634,00 podaje 1.35855497866354E-12 a powinno
>>> przeciez byc 6.34E+2, co moze byc tego powodem? jak to obejsc?
>>>
>>> FB 2.5, zeos 7.2 rev 3645, CT 5.2
>>> wszystko 64 bit
>>>
>>
>> U mnie na Debian8-64, Zeos 7.2 svn 3636, Lazarus 1.4, FB2.54 prawidłowo
>> zwraca np.:
>> Edit1.Text:=ZQuery1.FieldByName('F10_1').AsString
>> Może w tym CodeTyphon 5.2 coś jest położone.
>
> też tak myślałem ale jakoś bardziej prawdopodobne wydawało mi się że nie
> znam jakiegoś myka na linux
>
>> Ostatnio używałem 5.4 z aktualizacjami ale tylko na Windows 32/64.
>
> sprawdziłem 5.4 i 5.5 ale tam niestety nie działa cross do linuxa,
> zupełnie nie kompiluje się toolchain dla linuxa :( wiec wróciłem do 5.2
> i zaktualizowałem komponenty :)
>
> ale chyba znalazłem winowajcę, ponieważ na tej samej bazie i
> komponentach pod win działa a na linux nie zacząłem zastanawiać się nad
> biblioteką klienta FB, na serwerze testowym zaktualizowałem FB do
> najnowszej wersji i wszystko poszło :) w poniedziałek będę wiedział czy
> na produkcyjnych też to pomogło :)
>
temat trochę odpuściłem bo pojawiły się pilniejsze rzeczy ale teraz
udało mi się go obczaić więc na wszelki wypadek opiszę jak by ktoś
kiedyś potrzebował :)
Zeosy są ok, klient FB też, okazuje się że tak jak miab sugerował CT ma
coś położone, a dokładnie corss do linuxa, dla identycznego kodu wygląda
to następująco:
Typhon64 -> win64 -> ok
Typhon64 -> linux64 -> błędy
Typhon32 -> win32 -> ok
Typhon32 -> linux32 -> ok
Typhon32 -> linux64 -> ok
najprostszym rozwiązaniem mojego problemu jest więc cross kompilacja z
Typhon32 do linuxa 64 bit :)
co ciekawe obecnie mamy już wersje 5.7 w changes log jest "FIX
FreePascal Cross-Build Element for target x86_64-linux" ale mi się nie
udało tego odpalić więc nadal siedzę na 5.2
--
moxi
Re: AsFloat (Firebird + zeos + CodeTyphon)
Author: moxi
Date: Mon, 20 Jun 2016 09:26
Date: Mon, 20 Jun 2016 09:26
32 lines
2316 bytes
2316 bytes
> Tak z czystej ciekawości... jaką to aplikację Kolega na Linux buduje?? > Chodzi mi czy to jakiś program magazynowy, sprzedaż, księgowość itp?? > > Akurat też piszę w podobnym zestawieniu narzędziowym na Linux więc > jestem ciekaw... A tworzymy oprogramowanie dla lekarzy POZ AOS... > > Jeżeli to nie jest tajemnicą > > Pozdrawiam > > Eugeniusz Rink Witam, najmocniej Kolegę przepraszam, gdzieś w natłoku pracy przeoczyłem ten post :( jest to pewnego rodzaju importer/konwerter, codziennie w nocy dostaję kilkaset dbf-ów ze starego systemu księgowego, muszę je obrobić i wygenerować trochę raportów, ponieważ lądują mi na serwerze opartym o linuxa, na którym też mam FB, stwierdziłem że nie ma sensu przepychać tego przez jakąś windę tylko napiszę sobie aplikację konsolową odpalaną przez cron-a, która zrobi wszystko lokalnie, działa to bardzo sympatycznie, pierwsze liczy sumy kontrolne dla dbf-ów (bo większość się nie zmienia) i podmienia w FB tylko te z nowymi danymi, do mapowania pól dbf -> FB mam napisaną aplikację już pod win więc cześć linuksowa jest praktycznie bezobsługowa :) Pozdrawiam -- moxi
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads