Autor Téma: DB aware komponenty - blokovanie záznamu.  (Přečteno 542 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4393
  • Karma: 39
    • Verze Delphi: XE7 professional
DB aware komponenty - blokovanie záznamu.
« kdy: 23-05-2019, 09:56:17 »
Špekulujem nad zmenou komponentov za DB komponenty. Vadí mi tam jedna vec: užívateľ spustí Edit/Insert a ide na obed. Záznam sa uzamkne. Ako sa to rieši?
Pri nie DB komponentoch tento problém nemám. Edit/Insert spúšťam bezprostredne pred Post.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2329
  • Karma: 102
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #1 kdy: 23-05-2019, 11:45:22 »
Excellent
Rated 1 time
>Ako sa to rieši?

Tím že se nepoužíjí DB komponenty :-)
Embarcadero MVP - Czech republic

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4393
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #2 kdy: 23-05-2019, 12:05:29 »
Tak to si mi vyriešil dilemu nad ktorou meditujem niekoľko dní ;D
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline pf1957

  • Padawan
  • ******
  • Příspěvků: 2586
  • Karma: 133
    • Verze Delphi: D2007, XE3, DX10
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #3 kdy: 23-05-2019, 13:26:02 »
Tím že se nepoužíjí DB komponenty :-)
Kolega v drevnich dobach to resil tak, ze udelal nad TWinControl a TDataset kompletne celou sadu widgetu, nektere s naprostu uzasnymi vlastnostmi a to zahrnovalo i vlastni implementaci  TDatasource tak, aby se to nezamykalo. Ale technicke podrobnosti po me nechtej - sice bych se mohl podivat do zdrojovek a zkusit nastudovat, jak je to udelano, ale uprime se mi do toho nechce: 1) nemam rad DB aplikace 2) uz jsem skoro duchodce

Offline Jirka

  • Plnoletý
  • ***
  • Příspěvků: 144
  • Karma: 8
    • Verze Delphi: XE2
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #4 kdy: 23-05-2019, 13:40:35 »
>Ako sa to rieši?

Tím že se nepoužíjí DB komponenty :-)

Nebo používat přes memory table  ;)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4393
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #5 kdy: 23-05-2019, 13:47:54 »
Tím že se nepoužíjí DB komponenty :-)
Kolega v drevnich dobach to resil tak, ze udelal nad TWinControl a TDataset kompletne celou sadu widgetu, nektere s naprostu uzasnymi vlastnostmi a to zahrnovalo i vlastni implementaci  TDatasource tak, aby se to nezamykalo. Ale technicke podrobnosti po me nechtej - sice bych se mohl podivat do zdrojovek a zkusit nastudovat, jak je to udelano, ale uprime se mi do toho nechce: 1) nemam rad DB aplikace 2) uz jsem skoro duchodce
3) Určite by som do toho neišiel
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4393
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #6 kdy: 23-05-2019, 13:49:10 »
>Ako sa to rieši?

Tím že se nepoužíjí DB komponenty :-)

Nebo používat přes memory table  ;)
To by som sa zas musel učiť niečo nové :o  a prepracovať 3/4 aplikácie :-\
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline miroB

  • Guru
  • *****
  • Příspěvků: 516
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #7 kdy: 23-05-2019, 16:10:52 »
Špekulujem nad zmenou komponentov za DB komponenty. Vadí mi tam jedna vec: užívateľ spustí Edit/Insert a ide na obed. Záznam sa uzamkne. Ako sa to rieši?
Pri nie DB komponentoch tento problém nemám. Edit/Insert spúšťam bezprostredne pred Post.
Je to viac-užívateľská databáza? V mojom prípade to býva len jeden užívateľ, takže keď ide na obed, je to jedno :)
Spravidla vyhodnocujem len stávajúci stav. Dáta prichádzajú hotové. Potom je to veľmi príjemný pohľad na databázu a jej problémy

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4393
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #8 kdy: 23-05-2019, 16:23:18 »
Jedna je embeded - jedno užívateľská. Pri druhej predpokladám aj sieťovú verziu.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Jirka

  • Plnoletý
  • ***
  • Příspěvků: 144
  • Karma: 8
    • Verze Delphi: XE2
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #9 kdy: 23-05-2019, 16:44:20 »
Jedna je embeded - jedno užívateľská. Pri druhej predpokladám aj sieťovú verziu.

Uvážit jaká je šance že ve stejnou dobu bude více uživatelů editovat stejná data ..

Offline vandrovnik

  • Guru
  • *****
  • Příspěvků: 752
  • Karma: 42
    • Verze Delphi: 10.3
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #10 kdy: 23-05-2019, 23:11:30 »
Špekulujem nad zmenou komponentov za DB komponenty. Vadí mi tam jedna vec: užívateľ spustí Edit/Insert a ide na obed. Záznam sa uzamkne. Ako sa to rieši?
Pri nie DB komponentoch tento problém nemám. Edit/Insert spúšťam bezprostredne pred Post.

S jakou databází tam pracuješ? Firebird standardně při Edit záznamy nezamyká. U Insertu by odchod na oběd neměl už vůbec vadit, protože záznam zatím ani v databázi není, dokud se neudělá Post, ne?

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4393
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #11 kdy: 24-05-2019, 08:02:59 »
Citace
Uvážit jaká je šance že ve stejnou dobu bude více uživatelů editovat stejná data ..
Snažím sa ju minimalizovať.
Citace
S jakou databází tam pracuješ?
Access len jedno užívateľsky a FB, kde predpokladám aj sieťovú verziu. Pri FB sa pracuje so spoločenstvami a s jedným SVB bude môcť robiť len jediný užívateľ. Takže šanca je prakticky nulová.
Žeby som nad nimi opäť začal uvažovať? :-\ :-\ :-\

 
Hokej nepozerám, ale zajtra vám držím palce!
« Poslední změna: 24-05-2019, 08:05:01 od Stanislav Hruška »
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4393
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #12 kdy: 24-05-2019, 22:42:25 »
Hm, po krátkom štúdiu to vyzerá tak, že predsa len použijem DB komponenty. Ale bude to fuška na dlhší čas. Dôvody:
  • Nemusím sa starať o zobrazovanie údajov. Vyhodím všetky moje funkcie pre prácu s údajmi z DB, Write.., Read.., Get..
  • Budem mať k dispozícii pôvodné aj nové údaje. To sa môže zísť
  • Vďaka nim si viem do TDBEditCtrl načítať všetky potrebné údaje. Budem sa musieť s tým pohrať a nastaviť ich v DataSet-e. Prejsť každé pole
  • Zoznam TDBEditCtrl si vytvorím automaticky. Vypadne mi kopa textu zo zdrojákov
  • Názvy komponentov ukončím číslami, očíslujem si ich, a podľa toho si ten zoznam zoradím. Tým dosiahnem správne poradie kontroly
  • Automatická kontrola ostane zachovaná
  • TMS má veľmi širokú paletu DB komponentov. Dajú sa využiť na tvorbu rôznych typov formulárov. Už ich len naštudovať
Hlavne už nebudem nad tým meditovať a v budúcnosti to už určite nebudem meniť. Je to veľká a zásadná zmena. A takých už bolo naozaj dosť. Pomohlo mi, že ste mi ukázali iný pohľad na uzamykanie záznamov. Presnejšie je, že som si to vďaka Vám premyslel a vyjasnil.
Ďakujem.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.

Offline Jirka

  • Plnoletý
  • ***
  • Příspěvků: 144
  • Karma: 8
    • Verze Delphi: XE2
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #13 kdy: 25-05-2019, 21:50:40 »
Hm, po krátkom štúdiu to vyzerá tak, že predsa len použijem DB komponenty. Ale bude to fuška na dlhší čas. Dôvody:
  • Názvy komponentov ukončím číslami, očíslujem si ich, a podľa toho si ten zoznam zoradím. Tým dosiahnem správne poradie kontroly

IMHO by měl stačit jednodušší přístup k datům - Dataset.FieldByName('xxx').Asxxx

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 4393
  • Karma: 39
    • Verze Delphi: XE7 professional
Re:DB aware komponenty - blokovanie záznamu.
« Odpověď #14 kdy: 25-05-2019, 22:13:20 »
Citácia (poradie) a Tvoj príspevok (údaje) nejdú dokopy. Ja sa údajoch ešte nebavím.
Delphi XE7, FireBird
Expert na kladenie nejasne formulovaných otázok.