Thread View: pl.comp.lang.delphi.bazy-danych
7 messages
7 total messages
Started by J-23
Mon, 19 Mar 2018 00:22
"0 record(s) updated. Only one record should have been update" ZeosDB
Author: J-23
Date: Mon, 19 Mar 2018 00:22
Date: Mon, 19 Mar 2018 00:22
43 lines
2046 bytes
2046 bytes
Witam Buduję komponent bazodanowy gdzie będzie można podłączyć dowolną bazę za pomocą TDataSource W komponencie będzie się podawać DataField tak jak w standardowej kontrolce DB za pomocą tego komponentu będzie można dodać też dane do tabeli podłączonej za pomocą TDataSource i robię zwyczajne operacje wyglądającą tak DataSource.Dataset.Append ... .. .. DataSource.Dataset.Post Do TDatasource są podpięte Zeosy z AutoCommit więc dane lądują w bazie odrazu gdy wykonam: Append Post (jednorazowo) dane są bez problemu dodawane do bazy ale gdy klikne przycisk 2 krotnie dostaje: "0 record(s) updated. Only one record should have been update" próbowałem po post dołożyć Refresh ale nic to nie zmienia Próbowałem miabu tego co radziłeś tutaj https://forum.lazarus.freepascal.org/index.php?topic=32170.0 ale bez efektu Rano spróbuje podłączyć coś innego niż Zeos i zobaczyć jaki będzie efekt Baza to Firebird ale zależy mi na 2 bazach na Firebird i MSSQL bo tam będzie to docelowo działać Pozdrawiam J-23
Re: "0 record(s) updated. Only one record should have been update" ZeosDB
Author: J-23
Date: Mon, 19 Mar 2018 00:29
Date: Mon, 19 Mar 2018 00:29
53 lines
2450 bytes
2450 bytes
W dniu 19.03.2018 o 01:22, J-23 pisze: > Witam > Buduję komponent bazodanowy gdzie będzie można podłączyć dowolną bazę za > pomocą TDataSource > > W komponencie będzie się podawać DataField tak jak w standardowej > kontrolce DB > > za pomocą tego komponentu będzie można dodać też dane do tabeli > podłączonej za pomocą TDataSource > > i robię zwyczajne operacje wyglądającą tak > > DataSource.Dataset.Append > ... > .. > .. > DataSource.Dataset.Post > > > > Do TDatasource są podpięte Zeosy z AutoCommit > więc dane lądują w bazie odrazu > > gdy wykonam: > Append > Post > (jednorazowo) dane są bez problemu dodawane do bazy > > ale gdy klikne przycisk 2 krotnie dostaje: "0 record(s) updated. Only > one record should have been update" > > próbowałem po post dołożyć Refresh ale nic to nie zmienia > > Próbowałem miabu tego co radziłeś tutaj > https://forum.lazarus.freepascal.org/index.php?topic=32170.0 ale bez efektu > > Rano spróbuje podłączyć coś innego niż Zeos i zobaczyć jaki będzie efekt > > Baza to Firebird ale zależy mi na 2 bazach na Firebird i MSSQL bo tam > będzie to docelowo działać > Dla uzupełnienia: jeśli odwołam się bezpośrednio np do ZTable czyli np ZTable.Append ZTable.Post Problem nie występuje. Jednak zależało by mi na pozostawieniu tego na poziomie DataSource Pozdrawiam J-23
Re: "0 record(s) updated. Only one record should have been update" ZeosDB
Author: Krzysztof Szyszka
Date: Mon, 19 Mar 2018 14:48
Date: Mon, 19 Mar 2018 14:48
24 lines
1670 bytes
1670 bytes
> Dla uzupełnienia: jeśli odwołam się bezpośrednio np do ZTable czyli np > > ZTable.Append > ZTable.Post > > Problem nie występuje. Jednak zależało by mi na pozostawieniu tego na poziomie DataSource Co prawda nie używam ZEOSów, ale DataSource raczej nie powinno mieć na to wpływu. Zrób do testów jeszcze takie porównanie: var DataSet: TDataSet; begin DataSet := ZTable; DataSet.Append; DataSet.Post; end; -- pozdrowienia Krzysztof Szyszka, X-Files Software Developer of X-DBGrid Component Embarcadero Technology Partner http://www.x-files.pl/
Re: "0 record(s) updated. Only one record should have been update" ZeosDB
Author: J-23
Date: Wed, 21 Mar 2018 03:32
Date: Wed, 21 Mar 2018 03:32
9 lines
1196 bytes
1196 bytes
W dniu 19.03.2018 o 01:22, J-23 pisze: > Witam [...] > Rano spróbuje podłączyć coś innego niż Zeos i zobaczyć jaki będzie efekt Jest błąd w Zeosach postaram się przygotować mały przykładowy projekt by pokazać w czym jest rzecz. Pozdrawiam
Re: "0 record(s) updated. Only one record should have been update" ZeosDB
Author: J-23
Date: Sat, 24 Mar 2018 02:03
Date: Sat, 24 Mar 2018 02:03
49 lines
3146 bytes
3146 bytes
W dniu 21.03.2018 o 04:32, J-23 pisze: > W dniu 19.03.2018 o 01:22, J-23 pisze: >> Witam > [...] >> Rano spróbuje podłączyć coś innego niż Zeos i zobaczyć jaki będzie efekt > > Jest błąd w Zeosach postaram się przygotować mały przykładowy projekt by > pokazać w czym jest rzecz. > Zgodnie z tym co zapowiedziałem przygotowałem demo pokazujący problem (moim zdaniem) z Zeos. By przybliżyć jak najbliżej problem okroiłem swój komponent do minimum jest to zwykłe drzewo opartę o ZedTreeDB teraz dodaje element drzewa i tak jak mowilem jesli dodam jeden element wszystko dziala poprawnie jeśli natomiast dodam kolejny pojawi się wspomniany prze mnie w temacie blad. Realizuje taki scenariusz: Mam root drzewa o nazwie "All" klikam na niego zaznaczając przyciskam dodaj i wpisuje nazwe nowego elementu - zatwierdzam OK potem powtarzam operacje lecz po naciśnieciu dodaj mam jeden element już pusty. Wydaje mi się że ten element pusty jest właśnie przyczyną tych wszystkich moich kłopotów. Teraz skąd zakładam że to jest wina Zeosa? z 2 powodów: 1. Ponieważ moje procedury dodawania i zatwierdzania są bajecznie proste nie ma w nich nic skomplikowanego 2. Po podpieciu się do bazy (tej samej bazy) za pomocą komponentow SQLDB problem nie występuje Powiem szczerze już zastanawiałem się czy ich nie wykorzystać a tematu z zeosami odłożyć na wolniejszy termin. ale zauważyłem ze te komponenty też mają pewne mankamenty ja np miałem problem z ponownym połączeniem się do bazy po rozłączeniu. Stad zależy mi na usunięciu tego problemu Sposób instalacji jest bardzo prosty 1. Instalujemy pakiet Zedlib.lpk 2 Instalujemy pakiet CompositionDialogPackage.lpk Miabu prośba do Ciebie także jeśli faktycznie to wina błędu w Zeosach to zależało by mi na jak najszybszym pchnięcu tematu lub znalezienia obejscia na to Wszystko co jest potrzebne do odpalenia tego przykładu jest pod linkiem https://drive.google.com/open?id=1Ypjs40FGg3Lr5Ysj9GtfMuzTlLdW0KDp Pozdrawiam
Re: "0 record(s) updated. Only one record should have been update" ZeosDB
Author: miab
Date: Sat, 24 Mar 2018 10:43
Date: Sat, 24 Mar 2018 10:43
26 lines
2034 bytes
2034 bytes
W dniu 24-03-2018 o 03:03, J-23 pisze: > Wszystko co jest potrzebne do odpalenia tego przykładu jest pod linkiem > https://drive.google.com/open?id=1Ypjs40FGg3Lr5Ysj9GtfMuzTlLdW0KDp Tak na szybko. Po dodaniu do twojego project1 Batona z: procedure TForm1.Button2Click(Sender: TObject); begin DataSourceTree.DataSet.Append; DataSourceTree.DataSet.Post; end; Można klikać na niego do woli i generuje kolejne puste(autonumerowane) rekordy bez zgłaszania błędu(na co narzekałeś). Używałem FB2.5-Win32, Lazarus 1.8.2-Win32 i ZEOS 7.3 svn 4422: https://sourceforge.net/p/zeoslib/code-0/HEAD/tree/branches/testing-7.3/ http://zeoslib.sourceforge.net/viewtopic.php?f=40&t=3795&p=93254#p93254 Przypuszczam że bieżąca wersja svn-owa ZEOS 7.2 też tak się zachowa(jako że sa praktycznie identyczne za wyjątkiem dodania OleDB i ODBC). Lada dzień(a być może godzinę) ukaże się finalna wersja 7.2 na: https://sourceforge.net/projects/zeoslib/ proponuję z nią spróbować. miab
Re: "0 record(s) updated. Only one record should have been update" ZeosDB
Author: J-23
Date: Sat, 24 Mar 2018 22:13
Date: Sat, 24 Mar 2018 22:13
13 lines
1684 bytes
1684 bytes
W dniu 24.03.2018 o 11:43, miab pisze: > Używałem FB2.5-Win32, Lazarus 1.8.2-Win32 i ZEOS 7.3 svn 4422: > https://sourceforge.net/p/zeoslib/code-0/HEAD/tree/branches/testing-7.3/ > http://zeoslib.sourceforge.net/viewtopic.php?f=40&t=3795&p=93254#p93254 Coś się musiało więcej zmienić bo działa :) Skompilowałem z tą wersją co ty czyli r4422 i problem rozwiązany :) 100-krotne dzięki :) Pozdrawiam J-23
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