Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 3.047 pregleda

Najnovija ↓

ClientDataSet - applying updates 03.04.2008. u 13:01 · pre 226 meseci #1
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.
Potpis
I once wept a thousand tear...
For a love lost over a year...
Re: ClientDataSet - applying updates 03.04.2008. u 22:20 · pre 226 meseci #2
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.
Potpis
TurboDispatchJumpAddressEnd
----
Knocka Fia
----
And so we meet, again in a different time
Re: ClientDataSet - applying updates 04.04.2008. u 07:35 · pre 226 meseci #3
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...
Potpis
I once wept a thousand tear...
For a love lost over a year...
Re: ClientDataSet - applying updates 04.04.2008. u 08:19 · pre 226 meseci #4
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.
Re: ClientDataSet - applying updates 04.04.2008. u 08:59 · pre 226 meseci #5
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 ;)
Potpis
I once wept a thousand tear...
For a love lost over a year...
Re: ClientDataSet - applying updates 04.04.2008. u 09:35 · pre 226 meseci #6
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;
Re: ClientDataSet - applying updates 04.04.2008. u 09:43 · pre 226 meseci #7
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!!!
Potpis
I once wept a thousand tear...
For a love lost over a year...
Re: ClientDataSet - applying updates 04.04.2008. u 10:31 · pre 226 meseci #8
nisi me razumeo verovatno, mislio sam da spajanje tabela ne radis sql upitom nego bas CDS-om. sve podatke vadis iz postgresa
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme