[ salvaric @ 30.11.2014. 11:40 ] @
Pozdrav,

dal se može zaobići proces close/open radi osvežavanja podataka u tabeli (lazarus/MySql)?

U tabeli koristim dinamička polja koja uzimam iz neke druge tabele (npr. "select ID,DATUM,BR_RACUNA,(select IME from korisnici where ID=T.ID_KORISNIKA) as Korisnik, itd... from ULAZ T"), i radim direktne izmene nad slogovima (edit, izmena, post, applayupdate), i to lepo radi al mi dinamička polja ostanu prazna nad tim slogom. Jedno od rešenja je da upamtim ID sloga, close, open, locate, al to traje malo duže pošto u tabeli ima jako puno slogova, pa sam pomislio dal možda postoji neki način da se to izvede samo nad datim slogum.

[ savkic @ 30.11.2014. 18:09 ] @
Kada ostaju prazna, posle applyupdates? To je verovatno problem do komponenti, tebi ostaje da to pokušaš sam čuvati u nekoj drugoj tabeli (sve vrednosti iz tog polja) i onda da ih ručno vratiš kada ti zatrebaju.
[ salvaric @ 30.11.2014. 18:37 ] @
Posle inserta budu prazna a posle edita ostanu nepromenjena.

npr.
tabela ulaz (polja id,datum,id_korisnika...)

tabela korisnici (polja id,ime,jmbg,adresa...)

U sqlquery, sa gore navednim upitom, prikazu se slogovi:

ID DATUM BR RAČUNA KORISNIK
----------------------------------------------
1 01.01.14 008-2252/14 Nikola
2 02.02.14 009-1245/14 Marija
----------------------------------------------

Kad se editovanjem promeni id_korisnina u query-ju npr. u prvom slogu (id od Nikole zamenim Marijinim), dinamičko polje "KORISNIK" (koje je dobiveno iz tabele korisnici na osnovu datog id) posle post i applayupdate ostane nepromenjeno, dok posle novog unosa (INSERT) polje "KORISNIK" polje ostane prazno iako je id korisnika zadat.
Upisi polja su svi dobri, samo što se tabela (query) ne refrešuje, tek posle close/open prikaz bude dobar, al mi taj metod usporava rad radi velikog broja slogova.
Nadam se da sam sad malo precizniji.
[ savkic @ 30.11.2014. 19:10 ] @
> Kad se editovanjem promeni id_korisnina u query-ju npr. u prvom slogu (id od Nikole zamenim Marijinim), dinamičko polje "KORISNIK" (koje je dobiveno
> iz tabele korisnici na osnovu datog id) posle post i applayupdate ostane nepromenjeno,

ID ti je mislim spoljni ključ na tebelu korisnik? Bolje ga nazovi KORISNIK_ID.

> dok posle novog unosa (INSERT) polje "KORISNIK" polje ostane prazno iako je id korisnika zadat.
> Upisi polja su svi dobri, samo što se tabela (query) ne refrešuje, tek posle close/open prikaz bude dobar, al mi taj metod usporava rad radi velikog broja slogova.

Verovatno si udario u limit mogućnosti tih komponenti koje koristiš, pokušaj sa nekim drugim komponentama ili da radiš sve ručno. Pre svega pokušaj sa prepisivanjem kverija tako da koristi join, nevezano za ovaj refresh posle izmena, biće brži:

Code:

SELECT 
  U.KORISNIK_ID, U.DATUM, U.BR_RACUNA, K.IME
FROM
  ULAZ U
  INNER JOIN KORISNICI K
     ON K.ID = U.KORISNIK_ID
[ salvaric @ 30.11.2014. 19:54 ] @
Pokušao sam, al u tom slučaju se dataset zaključa, bude ReadOnly i nedozvoljava editovanje.
[ savkic @ 30.11.2014. 20:03 ] @
Onda ti preostaje samo ručno da odradiš dodele.
[ salvaric @ 30.11.2014. 20:21 ] @
Nisam siguran na koju metodu misliš, kako misliš ručno?
[ savkic @ 30.11.2014. 20:55 ] @
Da ručno (iz koda) vodiš računa o vrednostima u koloni IME.