🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi.bazy-danych
13 messages
13 total messages Started by J-23 Mon, 15 May 2017 01:57
Zeos ZTable.Delete Lazrus
#81057
Author: J-23
Date: Mon, 15 May 2017 01:57
10 lines
273 bytes
Witam,

Korzystam z 7.2,1 rc i bazy Firbird. Czy w komponencie ZTable działa
Delete?

Bo ja tego nie mogę zmusić do działania jak to u Was wygląda. Zawsze
mogę to zrobić zapytaniem sql. Ale zastanawiam sie czy to bład w Zeos
czy ja cos knocę :)

Pozdrawiam
J-23
Re: Zeos ZTable.Delete Lazrus
#81058
Author: miab
Date: Mon, 15 May 2017 09:48
14 lines
533 bytes
W dniu 15.05.2017 o 01:57, J-23 pisze:
> Witam,
>
> Korzystam z 7.2,1 rc i bazy Firbird. Czy w komponencie ZTable działa
> Delete?
>
> Bo ja tego nie mogę zmusić do działania jak to u Was wygląda. Zawsze
> mogę to zrobić zapytaniem sql. Ale zastanawiam sie czy to bład w Zeos
> czy ja cos knocę :)

Korzystam z ZEOS 7.2 svn 3986, FB 2.56. D2006(w tym momencie :)
Dla tabel nie powiążanych jak najbardziej działa ZTable.Delete oraz
delete z dbGrid czy dbNavigator. (Przy ustawieniach domyślnych komponentów).

miab
Re: Zeos ZTable.Delete Lazrus
#81059
Author: miab
Date: Mon, 15 May 2017 09:56
19 lines
690 bytes
W dniu 15.05.2017 o 09:48, miab pisze:
> W dniu 15.05.2017 o 01:57, J-23 pisze:
>> Witam,
>>
>> Korzystam z 7.2,1 rc i bazy Firbird. Czy w komponencie ZTable działa
>> Delete?
>>
>> Bo ja tego nie mogę zmusić do działania jak to u Was wygląda. Zawsze
>> mogę to zrobić zapytaniem sql. Ale zastanawiam sie czy to bład w Zeos
>> czy ja cos knocę :)
>
> Korzystam z ZEOS 7.2 svn 3986, FB 2.56. D2006(w tym momencie :)
> Dla tabel nie powiążanych jak najbardziej działa ZTable.Delete oraz
> delete z dbGrid czy dbNavigator. (Przy ustawieniach domyślnych
> komponentów).

Tak samo zresztą dla Lazarus 1.6.4-Win32 a nawet dla obu równocześnie na
tej samej tabeli :).

miab
Re: Zeos ZTable.Delete Lazrus
#81060
Author: miab
Date: Mon, 15 May 2017 10:15
18 lines
657 bytes
W dniu 15.05.2017 o 09:48, miab pisze:
> W dniu 15.05.2017 o 01:57, J-23 pisze:
>> Witam,
>>
>> Korzystam z 7.2,1 rc i bazy Firbird. Czy w komponencie ZTable działa
>> Delete?
>>
>> Bo ja tego nie mogę zmusić do działania jak to u Was wygląda. Zawsze
>> mogę to zrobić zapytaniem sql. Ale zastanawiam sie czy to bład w Zeos
>> czy ja cos knocę :)
>
> Korzystam z ZEOS 7.2 svn 3986, FB 2.56. D2006(w tym momencie :)
> Dla tabel nie powiążanych jak najbardziej działa ZTable.Delete oraz
> delete z dbGrid czy dbNavigator. (Przy ustawieniach domyślnych
> komponentów).

i dla Delphi 10 Seattle-Win64(tylko exe-k jest 4 razy większy).

miab
Re: Zeos ZTable.Delete Lazrus
#81061
Author: miab
Date: Mon, 15 May 2017 11:13
20 lines
678 bytes
W dniu 15.05.2017 o 09:48, miab pisze:
> W dniu 15.05.2017 o 01:57, J-23 pisze:
>> Witam,
>>
>> Korzystam z 7.2,1 rc i bazy Firbird. Czy w komponencie ZTable działa
>> Delete?
>>
>> Bo ja tego nie mogę zmusić do działania jak to u Was wygląda. Zawsze
>> mogę to zrobić zapytaniem sql. Ale zastanawiam sie czy to bład w Zeos
>> czy ja cos knocę :)
>
> Korzystam z ZEOS 7.2 svn 3986, FB 2.56. D2006(w tym momencie :)
> Dla tabel nie powiążanych jak najbardziej działa ZTable.Delete oraz
> delete z dbGrid czy dbNavigator. (Przy ustawieniach domyślnych
> komponentów).

na Ubuntu 16.04LTE-64 MINT Lazarus 1.6-64 i Fedora 25-64 KDE Lazarus
1.6.2-64 też.

miab
Re: Zeos ZTable.Delete Lazrus
#81062
Author: J-23
Date: Tue, 16 May 2017 03:33
25 lines
841 bytes
W dniu 15.05.2017 o 11:13, miab pisze:
> W dniu 15.05.2017 o 09:48, miab pisze:
>> W dniu 15.05.2017 o 01:57, J-23 pisze:
>>> Witam,
>>>
>>> Korzystam z 7.2,1 rc i bazy Firbird. Czy w komponencie ZTable działa
>>> Delete?
>>>
>>> Bo ja tego nie mogę zmusić do działania jak to u Was wygląda. Zawsze
>>> mogę to zrobić zapytaniem sql. Ale zastanawiam sie czy to bład w Zeos
>>> czy ja cos knocę :)
>>
>> Korzystam z ZEOS 7.2 svn 3986, FB 2.56. D2006(w tym momencie :)
>> Dla tabel nie powiążanych jak najbardziej działa ZTable.Delete oraz
>> delete z dbGrid czy dbNavigator. (Przy ustawieniach domyślnych
>> komponentów).
>
> na Ubuntu 16.04LTE-64 MINT Lazarus 1.6-64 i Fedora 25-64 KDE Lazarus
> 1.6.2-64 też.
>

Udało, mi się ale powiem szczerze że nie wiem co było powodem że to nie
działało

Pozdrawiam
J-23
Re: Zeos ZTable.Delete Lazrus
#81063
Author: J-23
Date: Tue, 16 May 2017 04:25
41 lines
1209 bytes
W dniu 16.05.2017 o 03:33, J-23 pisze:
> W dniu 15.05.2017 o 11:13, miab pisze:
>> W dniu 15.05.2017 o 09:48, miab pisze:
>>> W dniu 15.05.2017 o 01:57, J-23 pisze:
>>>> Witam,
>>>>
>>>> Korzystam z 7.2,1 rc i bazy Firbird. Czy w komponencie ZTable działa
>>>> Delete?
>>>>
>>>> Bo ja tego nie mogę zmusić do działania jak to u Was wygląda. Zawsze
>>>> mogę to zrobić zapytaniem sql. Ale zastanawiam sie czy to bład w
>>>> Zeos czy ja cos knocę :)
>>>
>>> Korzystam z ZEOS 7.2 svn 3986, FB 2.56. D2006(w tym momencie :)
>>> Dla tabel nie powiążanych jak najbardziej działa ZTable.Delete oraz
>>> delete z dbGrid czy dbNavigator. (Przy ustawieniach domyślnych
>>> komponentów).
>>
>> na Ubuntu 16.04LTE-64 MINT Lazarus 1.6-64 i Fedora 25-64 KDE Lazarus
>> 1.6.2-64 też.
>>
>
> Udało, mi się ale powiem szczerze że nie wiem co było powodem że to nie
> działało
>

Dlaczego powyższe nie działa dla masterDetail?

Klucze obce są na poziomie Cascade - więc wydaje się że powinno śmigać

Samo MasterDetail działa znakomicie



Miab wytłumacz mi sens takiego komponentu jak UpdateSQL w Table bo
kompletnie nie rozumiem


Zeosy mam teraz identyczne jak Twoje

Pozdrawiam
J-23
Re: Zeos ZTable.Delete Lazrus
#81064
Author: wloochacz
Date: Tue, 16 May 2017 09:49
11 lines
388 bytes
W dniu 2017-05-16 o 04:25, J-23 pisze:

> Miab wytłumacz mi sens takiego komponentu jak UpdateSQL w Table bo
> kompletnie nie rozumiem
A jak zrealizujesz dodatkowe akcje przy insert/update/delete (np. oprócz
modyfikacji danych w tabeli aktualizacja logu zmian) na danej tabeli,
jeśli nie chcesz lub nie możysz zrealizować tego przy pomocy triggera na
bazie danych?


--
wloochacz
Re: Zeos ZTable.Delete Lazrus
#81065
Author: miab
Date: Tue, 16 May 2017 10:10
44 lines
1520 bytes
W dniu 16.05.2017 o 04:25, J-23 pisze:
> W dniu 16.05.2017 o 03:33, J-23 pisze:
>> W dniu 15.05.2017 o 11:13, miab pisze:
>>> W dniu 15.05.2017 o 09:48, miab pisze:
>>>> W dniu 15.05.2017 o 01:57, J-23 pisze:
>>>>> Witam,
>>>>>
>>>>> Korzystam z 7.2,1 rc i bazy Firbird. Czy w komponencie ZTable
>>>>> działa Delete?
>>>>>
>>>>> Bo ja tego nie mogę zmusić do działania jak to u Was wygląda.
>>>>> Zawsze mogę to zrobić zapytaniem sql. Ale zastanawiam sie czy to
>>>>> bład w Zeos czy ja cos knocę :)
>>>>
>>>> Korzystam z ZEOS 7.2 svn 3986, FB 2.56. D2006(w tym momencie :)
>>>> Dla tabel nie powiążanych jak najbardziej działa ZTable.Delete oraz
>>>> delete z dbGrid czy dbNavigator. (Przy ustawieniach domyślnych
>>>> komponentów).
>>>
>>> na Ubuntu 16.04LTE-64 MINT Lazarus 1.6-64 i Fedora 25-64 KDE Lazarus
>>> 1.6.2-64 też.
>>>
>>
>> Udało, mi się ale powiem szczerze że nie wiem co było powodem że to
>> nie działało
>>
>
> Dlaczego powyższe nie działa dla masterDetail?
>
> Klucze obce są na poziomie Cascade - więc wydaje się że powinno śmigać
>
> Samo MasterDetail działa znakomicie
>
>
>
> Miab wytłumacz mi sens takiego komponentu jak UpdateSQL w Table bo
> kompletnie nie rozumiem
>

ZTable to po prostu ZQuery z domyślnym zapytaniem "select * from
TableName" tak że we wszystkich sytuacjach mniej trywialnych masz
(podobnie ja dla ZQuery) dzięki ZUpdateSQL możliwość zaaplikowania
własnych odmiennych od logiki ZEOS-a zapytań aktualizujących.

miab
Re: Zeos ZTable.Delete Lazrus
#81066
Author: miab
Date: Tue, 16 May 2017 10:40
51 lines
1766 bytes
W dniu 16.05.2017 o 04:25, J-23 pisze:
> W dniu 16.05.2017 o 03:33, J-23 pisze:
>> W dniu 15.05.2017 o 11:13, miab pisze:
>>> W dniu 15.05.2017 o 09:48, miab pisze:
>>>> W dniu 15.05.2017 o 01:57, J-23 pisze:
>>>>> Witam,
>>>>>
>>>>> Korzystam z 7.2,1 rc i bazy Firbird. Czy w komponencie ZTable
>>>>> działa Delete?
>>>>>
>>>>> Bo ja tego nie mogę zmusić do działania jak to u Was wygląda.
>>>>> Zawsze mogę to zrobić zapytaniem sql. Ale zastanawiam sie czy to
>>>>> bład w Zeos czy ja cos knocę :)
>>>>
>>>> Korzystam z ZEOS 7.2 svn 3986, FB 2.56. D2006(w tym momencie :)
>>>> Dla tabel nie powiążanych jak najbardziej działa ZTable.Delete oraz
>>>> delete z dbGrid czy dbNavigator. (Przy ustawieniach domyślnych
>>>> komponentów).
>>>
>>> na Ubuntu 16.04LTE-64 MINT Lazarus 1.6-64 i Fedora 25-64 KDE Lazarus
>>> 1.6.2-64 też.
>>>
>>
>> Udało, mi się ale powiem szczerze że nie wiem co było powodem że to
>> nie działało
>>
>
> Dlaczego powyższe nie działa dla masterDetail?
>
> Klucze obce są na poziomie Cascade - więc wydaje się że powinno śmigać
>
> Samo MasterDetail działa znakomicie
>
>
>
> Miab wytłumacz mi sens takiego komponentu jak UpdateSQL w Table bo
> kompletnie nie rozumiem
>
>
> Zeosy mam teraz identyczne jak Twoje

Do tego są dwa tryby M-D, zobacz:
https://sourceforge.net/projects/zeoslib/files/documentation/ZeosDocumentationCollection-2017-03-20.pdf/download

po stronie klienta i po stronie serwera.
Poza tym CachedUpdates i AutoCommit włączone bądź wyłączone, pare
TransactIsolationLevel i wreszcie specyfika danego serwera i twojej w
nim bazy, tak że nie zawsze (a nawet dość często) automatyzmy ZEOS-a są
zdecydowanie nie wystarczające. Trzeba pokombinować samemu.

miab
Re: Zeos ZTable.Delete Lazrus
#81067
Author: J-23
Date: Tue, 16 May 2017 14:20
76 lines
2672 bytes
W dniu 16.05.2017 o 10:40, miab pisze:
> W dniu 16.05.2017 o 04:25, J-23 pisze:
>> W dniu 16.05.2017 o 03:33, J-23 pisze:
>>> W dniu 15.05.2017 o 11:13, miab pisze:
>>>> W dniu 15.05.2017 o 09:48, miab pisze:
>>>>> W dniu 15.05.2017 o 01:57, J-23 pisze:
>>>>>> Witam,
>>>>>>
>>>>>> Korzystam z 7.2,1 rc i bazy Firbird. Czy w komponencie ZTable
>>>>>> działa Delete?
>>>>>>
>>>>>> Bo ja tego nie mogę zmusić do działania jak to u Was wygląda.
>>>>>> Zawsze mogę to zrobić zapytaniem sql. Ale zastanawiam sie czy to
>>>>>> bład w Zeos czy ja cos knocę :)
>>>>>
>>>>> Korzystam z ZEOS 7.2 svn 3986, FB 2.56. D2006(w tym momencie :)
>>>>> Dla tabel nie powiążanych jak najbardziej działa ZTable.Delete oraz
>>>>> delete z dbGrid czy dbNavigator. (Przy ustawieniach domyślnych
>>>>> komponentów).
>>>>
>>>> na Ubuntu 16.04LTE-64 MINT Lazarus 1.6-64 i Fedora 25-64 KDE Lazarus
>>>> 1.6.2-64 też.
>>>>
>>>
>>> Udało, mi się ale powiem szczerze że nie wiem co było powodem że to
>>> nie działało
>>>
>>
>> Dlaczego powyższe nie działa dla masterDetail?
>>
>> Klucze obce są na poziomie Cascade - więc wydaje się że powinno śmigać
>>
>> Samo MasterDetail działa znakomicie
>>
>>
>>
>> Miab wytłumacz mi sens takiego komponentu jak UpdateSQL w Table bo
>> kompletnie nie rozumiem
>>
>>
>> Zeosy mam teraz identyczne jak Twoje
>
> Do tego są dwa tryby M-D, zobacz:
> https://sourceforge.net/projects/zeoslib/files/documentation/ZeosDocumentationCollection-2017-03-20.pdf/download
>
> po stronie klienta i po stronie serwera.
> Poza tym CachedUpdates i AutoCommit włączone bądź wyłączone, pare
> TransactIsolationLevel i wreszcie specyfika danego serwera i twojej w
> nim bazy, tak że nie zawsze (a nawet dość często) automatyzmy ZEOS-a są
> zdecydowanie nie wystarczające. Trzeba pokombinować samemu.

Dzięki za tę dokumentacje. To po pierwsze

Po drugie przyznam że trochę zardzewiałem w Delphi/Lazarusie nie
dotykałem go kilka lat. Teraz po wrzuceniu komponentów na nowo
MasterDetail działa jak należy łącznie z usuwaniem rekordu


Tak nasuneło mi się inne pytanie o CacheUpdate ustawienie wartości na
true spowoduje że wszystkie operacje dzieją się po stronie klienta do
chwili ApplyUpdate i CommitUpdate to jest jasne

Ale czym w Zeos w takim razie będzie się to różnić od takiego podejścia

ZConnection.StartTransaction
...
...
...
...
ZConnection.Commit

Operację pomiędzy start a commit będą oczywiście po wykonaniu tego
drugiego więc przy standardowym poziomie izolacji transakcji jaki daje
zeos czyli ReadCommited nie będzie to miało różnicy dobrze rozumuje?

Pozdrawiam
J-23
Re: Zeos ZTable.Delete Lazrus
#81068
Author: miab
Date: Tue, 16 May 2017 14:37
85 lines
3228 bytes
W dniu 16.05.2017 o 14:20, J-23 pisze:
> W dniu 16.05.2017 o 10:40, miab pisze:
>> W dniu 16.05.2017 o 04:25, J-23 pisze:
>>> W dniu 16.05.2017 o 03:33, J-23 pisze:
>>>> W dniu 15.05.2017 o 11:13, miab pisze:
>>>>> W dniu 15.05.2017 o 09:48, miab pisze:
>>>>>> W dniu 15.05.2017 o 01:57, J-23 pisze:
>>>>>>> Witam,
>>>>>>>
>>>>>>> Korzystam z 7.2,1 rc i bazy Firbird. Czy w komponencie ZTable
>>>>>>> działa Delete?
>>>>>>>
>>>>>>> Bo ja tego nie mogę zmusić do działania jak to u Was wygląda.
>>>>>>> Zawsze mogę to zrobić zapytaniem sql. Ale zastanawiam sie czy to
>>>>>>> bład w Zeos czy ja cos knocę :)
>>>>>>
>>>>>> Korzystam z ZEOS 7.2 svn 3986, FB 2.56. D2006(w tym momencie :)
>>>>>> Dla tabel nie powiążanych jak najbardziej działa ZTable.Delete
>>>>>> oraz delete z dbGrid czy dbNavigator. (Przy ustawieniach
>>>>>> domyślnych komponentów).
>>>>>
>>>>> na Ubuntu 16.04LTE-64 MINT Lazarus 1.6-64 i Fedora 25-64 KDE
>>>>> Lazarus 1.6.2-64 też.
>>>>>
>>>>
>>>> Udało, mi się ale powiem szczerze że nie wiem co było powodem że to
>>>> nie działało
>>>>
>>>
>>> Dlaczego powyższe nie działa dla masterDetail?
>>>
>>> Klucze obce są na poziomie Cascade - więc wydaje się że powinno śmigać
>>>
>>> Samo MasterDetail działa znakomicie
>>>
>>>
>>>
>>> Miab wytłumacz mi sens takiego komponentu jak UpdateSQL w Table bo
>>> kompletnie nie rozumiem
>>>
>>>
>>> Zeosy mam teraz identyczne jak Twoje
>>
>> Do tego są dwa tryby M-D, zobacz:
>> https://sourceforge.net/projects/zeoslib/files/documentation/ZeosDocumentationCollection-2017-03-20.pdf/download
>>
>> po stronie klienta i po stronie serwera.
>> Poza tym CachedUpdates i AutoCommit włączone bądź wyłączone, pare
>> TransactIsolationLevel i wreszcie specyfika danego serwera i twojej w
>> nim bazy, tak że nie zawsze (a nawet dość często) automatyzmy ZEOS-a
>> są zdecydowanie nie wystarczające. Trzeba pokombinować samemu.
>
> Dzięki za tę dokumentacje. To po pierwsze
>
> Po drugie przyznam że trochę zardzewiałem w Delphi/Lazarusie nie
> dotykałem go kilka lat. Teraz po wrzuceniu komponentów na nowo
> MasterDetail działa jak należy łącznie z usuwaniem rekordu
>
>
> Tak nasuneło mi się inne pytanie o CacheUpdate ustawienie wartości na
> true spowoduje że wszystkie operacje dzieją się po stronie klienta do
> chwili ApplyUpdate i CommitUpdate to jest jasne
>
> Ale czym w Zeos w takim razie będzie się to różnić od takiego podejścia
>
> ZConnection.StartTransaction
> ....
> ....
> ....
> ....
> ZConnection.Commit
>
> Operację pomiędzy start a commit będą oczywiście po wykonaniu tego
> drugiego więc przy standardowym poziomie izolacji transakcji jaki daje
> zeos czyli ReadCommited nie będzie to miało różnicy dobrze rozumuje?

Wydaje mi się że funkcjonalnie niby niczym jeżeli nie nastąpi zerwanie
połączenia, natomiast różny jest czas wysyłki danych aktualizujących
albo po każdej zmianie, drobny udziały rozłożone w czasie i zamknięte
commit-em albo masowo po ApplyUpdate. Z tym że przy tym drugim możesz
wielokrotnie zmieniać zawartość rekordu po stronie klienta a i tak
pójdzie tylko raz stan po wszystkich zmianach.

miab

miab
Re: Zeos ZTable.Delete Lazrus
#81069
Author: J-23
Date: Tue, 16 May 2017 23:08
47 lines
1804 bytes
W dniu 16.05.2017 o 14:37, miab pisze:
> W dniu 16.05.2017 o 14:20, J-23 pisze:
>>
>> Dzięki za tę dokumentacje. To po pierwsze
>>
>> Po drugie przyznam że trochę zardzewiałem w Delphi/Lazarusie nie
>> dotykałem go kilka lat. Teraz po wrzuceniu komponentów na nowo
>> MasterDetail działa jak należy łącznie z usuwaniem rekordu
>>
>>
>> Tak nasuneło mi się inne pytanie o CacheUpdate ustawienie wartości na
>> true spowoduje że wszystkie operacje dzieją się po stronie klienta do
>> chwili ApplyUpdate i CommitUpdate to jest jasne
>>
>> Ale czym w Zeos w takim razie będzie się to różnić od takiego podejścia
>>
>> ZConnection.StartTransaction
>> ....
>> ....
>> ....
>> ....
>> ZConnection.Commit
>>
>> Operację pomiędzy start a commit będą oczywiście po wykonaniu tego
>> drugiego więc przy standardowym poziomie izolacji transakcji jaki daje
>> zeos czyli ReadCommited nie będzie to miało różnicy dobrze rozumuje?
>
> Wydaje mi się że funkcjonalnie niby niczym jeżeli nie nastąpi zerwanie
> połączenia, natomiast różny jest czas wysyłki danych aktualizujących
> albo po każdej zmianie, drobny udziały rozłożone w czasie i zamknięte
> commit-em albo masowo po ApplyUpdate. Z tym że przy tym drugim możesz
> wielokrotnie zmieniać zawartość rekordu po stronie klienta a i tak
> pójdzie tylko raz stan po wszystkich zmianach.
>


Takie też właśnie wyciągnąłem wnioski po podpięciu SQLMonitora.
Upewniłeś mnie tylko w tym. Dzięki :)

Może warto by to przebudować tak by tylko po ustawieniu CacheUpdate na
true zmieniało tryb pracy Start Transaction i Commit tak by się pozbyć
ApplyUpdate i CommitUpdate aby tryb pracy zależał tylko od CacheUpdate
false | true.

To taka moja sugestia jak ty to widzisz?

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