Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ClientDataSet - applying updates

[es] :: Pascal / Delphi / Kylix :: ClientDataSet - applying updates

[ Pregleda: 2193 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

master037
Milan Paunovic
Delphi Progs..
Beograd

Član broj: 69125
Poruke: 51
*.adsl.beotel.net.

ICQ: 116355025


+1 Profil

icon ClientDataSet - applying updates03.04.2008. u 12:01 - pre 195 meseci
Da li bi neko mogao da me uputi kako da odradim sledece na osnovu ovog sto imam:

kveri -> provajder -> klijentdataset

Programski ubacujem u adokveri sql izraz, koji izvlaci podatke iz baze (kombinuje vise tabela sa pojedinim kolonama) i to dalje preko provajdera prosledjuje klijentdataset-u.
E sad, koristio sam komponentu da dbradiogroup da u zavisnosti koju opcuju odaberem da se promeni odgovarajuce polje u klijentdataset-u. I dok god ne zatvorim klijentdataset sve se ok prikazuje.

E sad mene zanima, kako da ono sto sam radio sacuvam, tj. izmenjena polja vratim nazad u bazu.

Nasao sam neka resenja na netu ali odnose se kada se poziva samo jedna tabela i bukvalno se svodi da editujem direktno tabelu. Nisam nasao resenje kako da promene vratim nazad u bazu i da li je uopste moguce obzirom da klijentdataset i ne zna koje su tabele u pitanju jer drugih podataka sem onih sto mu salje kveri i nema.

Hvala unapred!!!

P.S. U pitanju je Delphi 7, baza podataka je PostgreSQL, os xp pro.
I once wept a thousand tear...
For a love lost over a year...
 
Odgovor na temu

nikomak
Nikola Makić
Beograd

Član broj: 177053
Poruke: 65
*.eunet.yu.



+1 Profil

icon Re: ClientDataSet - applying updates03.04.2008. u 21:20 - pre 195 meseci
Koliko sam uspeo da shvatim iz ovoga sto je navedeno gore, to sto zelis da postignes nekako nije logicno.
Prvo, kveri je jednosmeran i read only (selektujes i prikazujes neke podatke), pa nije moguce da tako dobijene podatke menjas i vratis nazad putem istovetnog kverija, zar ne ?

Tabele su (mozda) bolje resenje, nakon sto dobijes trazene rezultate (filtri, agregacija, itd..) menjas ih i post-ujes nazad u bazu.

Nadam se da sam dobro shvatio sta si pokusavao da uradis :) Pozdrav.
TurboDispatchJumpAddressEnd
----
Knocka Fia
----
And so we meet, again in a different time
 
Odgovor na temu

master037
Milan Paunovic
Delphi Progs..
Beograd

Član broj: 69125
Poruke: 51
*.adsl.beotel.net.

ICQ: 116355025


+1 Profil

icon Re: ClientDataSet - applying updates04.04.2008. u 06:35 - pre 195 meseci
Da, jesi dobro shvatio sta hocu da uradim. Tom logikom sam se i ja nekako vodio da tako nesto nije moguce, medjutim citao sam nekoliko clanaka po pitanju ove teme gde u stvari izmene nad podacima se ne vracaju putem istog kverija, vec sama komponenta (mislim dataset provider) kreira pojedinacan query za svaku izmenu i primenjuje to na bazu.
Videcu danas da odradim nesto drugacije...
I once wept a thousand tear...
For a love lost over a year...
 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 252
*.subotica.net.



+1 Profil

icon Re: ClientDataSet - applying updates04.04.2008. u 07:19 - pre 195 meseci
ne mozes preko query-a da to odradis, ali mozes da prodjes kroz clientdataset.delta (samo promene nad clientdatasetom) i rucno posaljes serveru sql upite. posto si spajao vise tabela, za jedan record ce ti trebati vise sql-ova, koliko tabela imas.
 
Odgovor na temu

master037
Milan Paunovic
Delphi Progs..
Beograd

Član broj: 69125
Poruke: 51
*.adsl.beotel.net.

ICQ: 116355025


+1 Profil

icon Re: ClientDataSet - applying updates04.04.2008. u 07:59 - pre 195 meseci
Jel bi mogao malo da mi pojasnis kako da pristupim "delti" i kako da posaljem upit. tj. Menja se samo jedno polje u jednoj tabeli i to je sve - ne treba mi vise sql-a ;)
I once wept a thousand tear...
For a love lost over a year...
 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 252
*.subotica.net.



+1 Profil

icon Re: ClientDataSet - applying updates04.04.2008. u 08:35 - pre 195 meseci
pretpostavljam da si vezao vise tabela samo da bi povezao preko nekog ID-a podatke zbog prikaza... zasto ne napravis vise clientdatasetova za sve te tabele a u onu glavnu dodas nova lookup polja i nemas onda briga, mozes koristiti applyupdates

cdsDelta.data:=cdsTabela.delta;
 
Odgovor na temu

master037
Milan Paunovic
Delphi Progs..
Beograd

Član broj: 69125
Poruke: 51
*.adsl.beotel.net.

ICQ: 116355025


+1 Profil

icon Re: ClientDataSet - applying updates04.04.2008. u 08:43 - pre 195 meseci
Pa kompletan upit je sql upit koji povezuje tabele u samoj postgresql bazi i samo izvlaci neophodne podatke koje bi prosledio programu. Pokusavam da se drzim sto je moguce vise postgresa i da samo finalne rezultate prikazuje korisniku. Nije problem da zakacim tabelu koja ce da bude direktno vezana na tabelu u bazi, ali sam mislio da je moguce ovako preko cds-a to odraditi.
Hvala u svakom slucaju!!!
I once wept a thousand tear...
For a love lost over a year...
 
Odgovor na temu

_deran_

Član broj: 69493
Poruke: 252
*.subotica.net.



+1 Profil

icon Re: ClientDataSet - applying updates04.04.2008. u 09:31 - pre 195 meseci
nisi me razumeo verovatno, mislio sam da spajanje tabela ne radis sql upitom nego bas CDS-om. sve podatke vadis iz postgresa
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: ClientDataSet - applying updates

[ Pregleda: 2193 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.