Thread View: pl.comp.lang.delphi.bazy-danych
15 messages
15 total messages
Started by jw_developer
Sun, 12 Nov 2017 12:19
CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: jw_developer
Date: Sun, 12 Nov 2017 12:19
Date: Sun, 12 Nov 2017 12:19
19 lines
679 bytes
679 bytes
Witam ! Windows 10/64 bit + Firebird 2.5 + CodeTyphon 6.2 + ZEOSLIB(zainstalowana z CT) Pole w bazie danych zadeklarowane jako : F_03 BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL W poprzedniej wersji CT (5.9) zapis i odczyt grafiki działał bez problemu a w aktualnej wersji nie zapisuje się nic albo ewentualnie jakieś "krzaki" bez względu na format zapisywanej grafiki. StoredProc_1.Params.AddParam(StoredProc_1.Params.CreateParam(ftBlob,'P_03', ptInput)); if OpenPictureDialog1.FileName.IsEmpty then StoredProc_1.ParamByName('P_03').Value := Null else StoredProc_1.ParamByName('P_03').LoadFromFile(OpenPictureDialog.FileName, ftBlob); Gdzie może być błąd ?.....
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: miab
Date: Mon, 13 Nov 2017 11:51
Date: Mon, 13 Nov 2017 11:51
6 lines
133 bytes
133 bytes
W dniu 12-11-2017 o 12:19, jw_developer pisze: > F_03 BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL Dlaczego NOT NULL? Masz klucz? miab
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: jw_developer
Date: Mon, 13 Nov 2017 13:28
Date: Mon, 13 Nov 2017 13:28
12 lines
426 bytes
426 bytes
W dniu 2017-11-13 o 11:51, miab pisze: > W dniu 12-11-2017 o 12:19, jw_developer pisze: >> F_03 BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL > > Dlaczego NOT NULL? > Masz klucz? > > miab Tak. Jest to tabela przechowująca wizerunki (zdjęcia) pracowników (jeżeli takowe istnieją), która posiada również pole F_02 (integer) będącym kluczem obcym do tabeli pracowników. Zapomniałem napisać, że ZEOS-y to 7.2.1-rc
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: miab
Date: Mon, 13 Nov 2017 15:21
Date: Mon, 13 Nov 2017 15:21
40 lines
1153 bytes
1153 bytes
W dniu 13-11-2017 o 13:28, jw_developer pisze: > W dniu 2017-11-13 o 11:51, miab pisze: >> W dniu 12-11-2017 o 12:19, jw_developer pisze: >>> F_03 BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL >> >> Dlaczego NOT NULL? >> Masz klucz? >> >> miab > > Tak. Jest to tabela przechowujÄ ca wizerunki (zdjÄcia) pracowników > (jeżeli takowe istniejÄ ), która posiada również pole F_02 (integer) > bÄdÄ cym kluczem obcym do tabeli pracowników. ZapomniaÅem napisaÄ, że > ZEOS-y to 7.2.1-rc Mi taka sekwencja: <code> if OpenPictureDialog1.Execute then begin ZQuery1.ParamByName('F_BLOB').LoadFromFile(OpenPictureDialog1.FileName, ftBlob); ZQuery1.ParamByName('F1').Value:=StrToInt(Edit1.Text); ZQuery1.ParamByName('F2').Value:íit2.Text; ZQuery1.ExecSQL; end; </code> dla SQL: INSERT INTO T1 VALUES (:F1, :F2, :F_BLOB) dziaÅa z formatem *.bmp w Lazarus 1.8RC5-Win32 i Delphi 10-Win32 dla FB2.5 i ZEOS 7.2.x svn 4052(7.3.x zresztÄ też): https://sourceforge.net/p/zeoslib/code-0/HEAD/tree/branches/testing-7.2/ Nie wiem dlaczego w CT to nie dziaÅa(może autor za bardzo odpÅynÄ Å od gÅównego nurtu Lazarus'a) miab
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: miab
Date: Mon, 13 Nov 2017 15:40
Date: Mon, 13 Nov 2017 15:40
23 lines
732 bytes
732 bytes
W dniu 13-11-2017 o 13:28, jw_developer pisze: > W dniu 2017-11-13 o 11:51, miab pisze: >> W dniu 12-11-2017 o 12:19, jw_developer pisze: >>> F_03 BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL >> >> Dlaczego NOT NULL? >> Masz klucz? >> >> miab > > Tak. Jest to tabela przechowująca wizerunki (zdjęcia) pracowników > (jeżeli takowe istnieją), która posiada również pole F_02 (integer) > będącym kluczem obcym do tabeli pracowników. Zapomniałem napisać, że > ZEOS-y to 7.2.1-rc Na marginesie . Nie wiem dlaczego piszesz ze używasz: ZEOS-y to 7.2.1-rc skoro autor CT pisze: -Update pl_ZeosDBO to Ver 6.3.1 Source SVN Rev 4013 do tego nie za bardzo wiem za bardzo z której gałęzi ciągnie i co tam przerabia. miab
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: Roman Tyczka
Date: Mon, 13 Nov 2017 15:40
Date: Mon, 13 Nov 2017 15:40
14 lines
346 bytes
346 bytes
On Sun, 12 Nov 2017 12:19:16 +0100, jw_developer wrote: > Pole w bazie danych zadeklarowane jako : > F_03 BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL [...] > StoredProc_1.ParamByName('P_03').LoadFromFile(OpenPictureDialog.FileName, > ftBlob); > Gdzie może być błąd ?..... W nazwie kolumny... nie P_03 tylko F_03 -- pozdrawiam Roman Tyczka
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: miab
Date: Mon, 13 Nov 2017 15:42
Date: Mon, 13 Nov 2017 15:42
16 lines
441 bytes
441 bytes
W dniu 13-11-2017 o 15:40, Roman Tyczka pisze: > On Sun, 12 Nov 2017 12:19:16 +0100, jw_developer wrote: > >> Pole w bazie danych zadeklarowane jako : >> F_03 BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL > [...] >> StoredProc_1.ParamByName('P_03').LoadFromFile(OpenPictureDialog.FileName, >> ftBlob); > >> Gdzie może być błąd ?..... > > W nazwie kolumny... nie P_03 tylko F_03 > No, parametry można sobie nazywać fantazyjnie. miab
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: Roman Tyczka
Date: Mon, 13 Nov 2017 16:04
Date: Mon, 13 Nov 2017 16:04
13 lines
274 bytes
274 bytes
On Mon, 13 Nov 2017 15:42:55 +0100, miab wrote: >>> Gdzie może być błąd ?..... >> >> W nazwie kolumny... nie P_03 tylko F_03 >> > > No, parametry można sobie nazywać fantazyjnie. Tak, ale zwracam uwagę, że tu też może być błąd. -- pozdrawiam Roman Tyczka
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: miab
Date: Mon, 13 Nov 2017 16:36
Date: Mon, 13 Nov 2017 16:36
44 lines
1367 bytes
1367 bytes
W dniu 13-11-2017 o 15:21, miab pisze: > W dniu 13-11-2017 o 13:28, jw_developer pisze: >> W dniu 2017-11-13 o 11:51, miab pisze: >>> W dniu 12-11-2017 o 12:19, jw_developer pisze: >>>> F_03 BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL >>> >>> Dlaczego NOT NULL? >>> Masz klucz? >>> >>> miab >> >> Tak. Jest to tabela przechowujÄ ca wizerunki (zdjÄcia) pracowników >> (jeżeli takowe istniejÄ ), która posiada również pole F_02 (integer) >> bÄdÄ cym kluczem obcym do tabeli pracowników. ZapomniaÅem napisaÄ, że >> ZEOS-y to 7.2.1-rc > > Mi taka sekwencja: > > <code> >  if OpenPictureDialog1.Execute then >   begin > ZQuery1.ParamByName('F_BLOB').LoadFromFile(OpenPictureDialog1.FileName, > ftBlob); >   ZQuery1.ParamByName('F1').Value:=StrToInt(Edit1.Text); >   ZQuery1.ParamByName('F2').Value:íit2.Text; >   ZQuery1.ExecSQL; >   end; > </code> > > dla SQL: > INSERT INTO T1 VALUES (:F1, :F2, :F_BLOB) > > dziaÅa z formatem *.bmp w Lazarus 1.8RC5-Win32 i Delphi 10-Win32 > dla FB2.5 i ZEOS 7.2.x svn 4052(7.3.x zresztÄ też): > https://sourceforge.net/p/zeoslib/code-0/HEAD/tree/branches/testing-7.2/ > Nie wiem dlaczego w CT to nie dziaÅa(może autor za bardzo odpÅynÄ Å od > gÅównego nurtu Lazarus'a) > > miab W wersji: Typhon 6.2 Data 2017-05-17 r54940 FPC 3.1.1 i386-win32-win32/win64 też mi to dziaÅa. miab
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: jw_developer
Date: Tue, 14 Nov 2017 11:55
Date: Tue, 14 Nov 2017 11:55
56 lines
1885 bytes
1885 bytes
W dniu 2017-11-13 o 15:21, miab pisze: > W dniu 13-11-2017 o 13:28, jw_developer pisze: >> W dniu 2017-11-13 o 11:51, miab pisze: >>> W dniu 12-11-2017 o 12:19, jw_developer pisze: >>>> F_03 BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL >>> >>> Dlaczego NOT NULL? >>> Masz klucz? >>> >>> miab >> >> Tak. Jest to tabela przechowujÄ ca wizerunki (zdjÄcia) pracowników >> (jeżeli takowe istniejÄ ), która posiada również pole F_02 (integer) >> bÄdÄ cym kluczem obcym do tabeli pracowników. ZapomniaÅem napisaÄ, że >> ZEOS-y to 7.2.1-rc > > Mi taka sekwencja: > > <code> >  if OpenPictureDialog1.Execute then >   begin > ZQuery1.ParamByName('F_BLOB').LoadFromFile(OpenPictureDialog1.FileName, > ftBlob); >   ZQuery1.ParamByName('F1').Value:=StrToInt(Edit1.Text); >   ZQuery1.ParamByName('F2').Value:íit2.Text; >   ZQuery1.ExecSQL; >   end; > </code> > > dla SQL: > INSERT INTO T1 VALUES (:F1, :F2, :F_BLOB) > > dziaÅa z formatem *.bmp w Lazarus 1.8RC5-Win32 i Delphi 10-Win32 > dla FB2.5 i ZEOS 7.2.x svn 4052(7.3.x zresztÄ też): > https://sourceforge.net/p/zeoslib/code-0/HEAD/tree/branches/testing-7.2/ > Nie wiem dlaczego w CT to nie dziaÅa(może autor za bardzo odpÅynÄ Å od > gÅównego nurtu Lazarus'a) > > miab > > > przy wykorzystaniu powyższej konstrukcji udaÅo mi siÄ zapisaÄ *.bmp lecz pozostaÅe formaty dalej siÄ *wykrzaczajÄ *. Jest to ważne, ponieważ mam również potrzebÄ zapisywania do bazy zaÅÄ czników w najrozmaitrzych formatach, z których *.bmp bÄdzie formatem zapisywanym sporadyczne ! Przy zapisie tekstowych BLOB-ów jest OK CT 6.2 2017-10-30 r55649 FPC 3.1.1 ZConnection -> Version -> 7.2.1 -rc Przy okazji, czy zna ktoÅ jakÄ Å sensownÄ alternatywÄ (darmowÄ ) do obsÅugi Firebird możliwÄ do zainstalowania w CT 6.2 (oczywiÅcie poza pakietami instalowanymi razem z IDE) ? Pozdrawiam
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: miab
Date: Tue, 14 Nov 2017 12:04
Date: Tue, 14 Nov 2017 12:04
13 lines
599 bytes
599 bytes
W dniu 14-11-2017 o 11:55, jw_developer pisze: > > przy wykorzystaniu powyższej konstrukcji udało mi się zapisać *.bmp lecz > pozostałe formaty dalej się *wykrzaczają*. Jest to ważne, ponieważ mam > również potrzebę zapisywania do bazy załączników w najrozmaitrzych > formatach, z których *.bmp będzie formatem zapisywanym sporadyczne ! > Przy zapisie tekstowych BLOB-ów jest OK Z tego w zasadzie wynika ze problem masz z prezentacja wizualną uprzednio zapisanych a następnie odczytanych danych. Może to: http://forum.lazarus.freepascal.org/index.php?topic606.0 miab
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: jw_developer
Date: Tue, 14 Nov 2017 12:31
Date: Tue, 14 Nov 2017 12:31
22 lines
978 bytes
978 bytes
W dniu 2017-11-14 o 12:04, miab pisze: > W dniu 14-11-2017 o 11:55, jw_developer pisze: > >> >> przy wykorzystaniu powyższej konstrukcji udało mi się zapisać *.bmp >> lecz pozostałe formaty dalej się *wykrzaczają*. Jest to ważne, >> ponieważ mam również potrzebę zapisywania do bazy załączników w >> najrozmaitrzych formatach, z których *.bmp będzie formatem zapisywanym >> sporadyczne ! >> Przy zapisie tekstowych BLOB-ów jest OK > > Z tego w zasadzie wynika ze problem masz z prezentacja wizualną > uprzednio zapisanych a następnie odczytanych danych. Może to: > http://forum.lazarus.freepascal.org/index.php?topic606.0 > > miab Ponieważ korzystam z IBExpert-a mam możliwość podglądu zapisanych danych w przeglądarce BLOB-ów i widzę, że problem leży nie w prezentacji a w błędnym zapisie.Jak już wcześniej pisałem, we wcześniejszej wersji CT 5.9 wszystko działało rewelacyjnie (dokładnie ta sama wersja FB) ! Pozdrawiam
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: miab
Date: Tue, 14 Nov 2017 13:31
Date: Tue, 14 Nov 2017 13:31
30 lines
1424 bytes
1424 bytes
W dniu 14-11-2017 o 12:31, jw_developer pisze: > W dniu 2017-11-14 o 12:04, miab pisze: >> W dniu 14-11-2017 o 11:55, jw_developer pisze: >> >>> >>> przy wykorzystaniu powyższej konstrukcji udało mi się zapisać *.bmp >>> lecz pozostałe formaty dalej się *wykrzaczają*. Jest to ważne, >>> ponieważ mam również potrzebę zapisywania do bazy załączników w >>> najrozmaitrzych formatach, z których *.bmp będzie formatem >>> zapisywanym sporadyczne ! >>> Przy zapisie tekstowych BLOB-ów jest OK >> >> Z tego w zasadzie wynika ze problem masz z prezentacja wizualną >> uprzednio zapisanych a następnie odczytanych danych. Może to: >> http://forum.lazarus.freepascal.org/index.php?topic606.0 >> >> miab > > Ponieważ korzystam z IBExpert-a mam możliwość podglądu zapisanych danych > w przeglądarce BLOB-ów i widzę, że problem leży nie w prezentacji a w > błędnym zapisie.Jak już wcześniej pisałem, we wcześniejszej wersji > CT 5.9 wszystko działało rewelacyjnie (dokładnie ta sama wersja FB) ! U mnie prawidłowao działa zapis wspomniana metodą w: Lazarus 1.8RC5 ZEOS 7.2.x svn 4052 i CT 6.2 pl_ZeosDBO Ver 6.1.2 Date 10-03-2017 SVN trunk Rev 3981. I dotyczy to formatów *.bmp, *.jpg i *.png i widać to nawet w DBImage. Na marginesie w Delphi 10 DBImage radzi sobie tylko z formatem *.bmp. Z tego co pamietam w podobnej sytuacji nie używałem w Delphi wprost DBImage. miab
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: miab
Date: Tue, 28 Nov 2017 00:16
Date: Tue, 28 Nov 2017 00:16
58 lines
1615 bytes
1615 bytes
W dniu 12-11-2017 o 12:19, jw_developer pisze: > Witam ! > > Windows 10/64 bit + Firebird 2.5 + CodeTyphon 6.2 + > ZEOSLIB(zainstalowana z CT) > > Pole w bazie danych zadeklarowane jako : > F_03 BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL > W poprzedniej wersji CT (5.9) zapis i odczyt grafiki działał bez > problemu a w aktualnej wersji nie zapisuje się nic albo ewentualnie > jakieś "krzaki" bez względu na format zapisywanej grafiki. > > StoredProc_1.Params.AddParam(StoredProc_1.Params.CreateParam(ftBlob,'P_03', > ptInput)); > if OpenPictureDialog1.FileName.IsEmpty then > StoredProc_1.ParamByName('P_03').Value := Null > else > StoredProc_1.ParamByName('P_03').LoadFromFile(OpenPictureDialog.FileName, ftBlob); > > > Gdzie może być błąd ?..... Raczej nie w ZEOS (teraz sprawdziłem). W Delphi 10 i Lazarus 1.8RC5 działa .LoadFromFile(OpenPictureDialog.FileName, ftBlob) natomiast w CT 6.30 nie(znaczy działa z błędami w danych). Natomiast ładowanie przez pośredniego stream-a działa dla wszystkich: <code> procedure TForm1.Button4Click(Sender: TObject); var blob, fs: TStream; begin if OpenPictureDialog1.Execute then begin // ZTable1.Insert; ZTable1.FieldByName('F1').AsInteger:= 4; blob:= ZTable1.CreateBlobStream(ZTable1.FieldByName('F_BLOB'), bmWrite); try blob.Seek(0, soFromBeginning); fs:= TFileStream.Create(OpenPictureDialog1.FileName, fmOpenRead or fmShareDenyWrite); try blob.CopyFrom(fs, fs.Size) finally fs.Free end; finally blob.Free end; ZTable1.Post; end; end; </code> miab
Re: CodeTyphon + ZEOSLIB + problem z zapisem grafiki
Author: jw_developer
Date: Tue, 28 Nov 2017 13:19
Date: Tue, 28 Nov 2017 13:19
77 lines
2498 bytes
2498 bytes
W dniu 2017-11-28 o 00:16, miab pisze: > W dniu 12-11-2017 o 12:19, jw_developer pisze: >> Witam ! >> >> Windows 10/64 bit + Firebird 2.5 + CodeTyphon 6.2 + >> ZEOSLIB(zainstalowana z CT) >> >> Pole w bazie danych zadeklarowane jako : >> F_03 BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL >> W poprzedniej wersji CT (5.9) zapis i odczyt grafiki działał bez >> problemu a w aktualnej wersji nie zapisuje się nic albo ewentualnie >> jakieś "krzaki" bez względu na format zapisywanej grafiki. >> >> StoredProc_1.Params.AddParam(StoredProc_1.Params.CreateParam(ftBlob,'P_03', >> ptInput)); >> if OpenPictureDialog1.FileName.IsEmpty then >> StoredProc_1.ParamByName('P_03').Value := Null >> else >> StoredProc_1.ParamByName('P_03').LoadFromFile(OpenPictureDialog.FileName, >> ftBlob); >> >> Gdzie może być błąd ?..... > > Raczej nie w ZEOS (teraz sprawdziłem). > W Delphi 10 i Lazarus 1.8RC5 działa > .LoadFromFile(OpenPictureDialog.FileName, ftBlob) > natomiast w CT 6.30 nie(znaczy działa z błędami w danych). > Natomiast ładowanie przez pośredniego stream-a działa dla wszystkich: > <code> > procedure TForm1.Button4Click(Sender: TObject); > var > blob, fs: TStream; > begin > if OpenPictureDialog1.Execute then > begin > // > ZTable1.Insert; > ZTable1.FieldByName('F1').AsInteger:= 4; > blob:= ZTable1.CreateBlobStream(ZTable1.FieldByName('F_BLOB'), bmWrite); > try > blob.Seek(0, soFromBeginning); > > fs:= TFileStream.Create(OpenPictureDialog1.FileName, fmOpenRead or > fmShareDenyWrite); > try > blob.CopyFrom(fs, fs.Size) > finally > fs.Free > end; > finally > blob.Free > end; > > ZTable1.Post; > > end; > end; > </code> > > miab Witam ! Chociaż jest to konstrukcja *bardzo pokrętna* to działa ! Niestety ja dokonuję zapisu z użyciem StoredProc + Execproc (BLOB jest jednym z parametrów) i nie wiem za bardzo jak dostosować powyższy kod. Poza tym pozostaje problem odczytu (umieszczenia LOBA w Image.Picture) gdyż ST := TStringStream.Create(StoredProc_1.ParamByName('NAZWA PARAMETRU BLOB').AsString); Image1.Picture.LoadFromStream(ST); również nie działa (w CT 5.9 działa super !). Pobieranie parametru dokonuje się również przy użyciu StoreProc + Execproc gdyż w międzyczasie dokonywane są inne odczyty, zapisy do tabel tymczasowych itp ... co mogłoby generować niepotrzebny ruch w sieci. Pozdrawiam
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