Citat:
XGhost: Poslusao sam savjet kolege da ne koristim paradox bazu te sam presao na interbase
Odlično, ispravno si postupio.
Ovako, ako umesto IBQuery-ja staviš IBTable, sve će raditi kao i sa TTable-om, tj moći ćeš odmah da menjaš podatke.
Nešto moćniji pristup ti je IBQuery + IBUpdateSQL. Da bi ti ovo radilo, u IBQuery-ju postaviš upit, UpdateObject na IBUptdateSQL, postaviš sve upite u IBUpdateSQL-u i to je to. Ovde ti je bedak to što moraš da imaš po dve komponente za svaku tabelu koju menjaš, pa ti forma može biti pretrpana.
E sad, ova dva metoda postoje zarad kompatibilnosti i lakšeg portovanja aplikacija sa TTable i drugara na TIBTable i drugare, što znači da i ovaj pristup treba da izbegneš.
Ostade li šta pitaš se ti. Ostade, ostade. Najmoćniji mehanizam. TIBDataSet.
Takođe naslednik TDataSet-a. Baciš ga na formu, povežeš šta treba, desni klik na njega, DataSet editor, definišeš upite i eto ti... Ovde, slično pristupu IBQuery + IBUpdateSQL, definišeš upit za svaku operaciju. Tako možeš da u SELECT-u spojiš 5 tabela JOIN-ima, i to prikazuješ, UPDATE izvršavaš na jednoj, a DELETE na drugoj tabeli. Ovo se sa TIBTable-om izvodi jaaaaaako sporo. Posebno korisno je to što ima osobine za preuzimanje vrednosti generatora iz baze (osobina GeneratorField), što ti je za primarni ključ prava poslastica - znaš ga pre upisa u tabelu.
E, sad, u zavisnosti kakvu aplikaciju praviš, možda ti trebaju različite vrste transakcija, a o njima čitaj u dokumentaciji. Neko koristi jednu transakciju po formi, neko po datasetu (što mislim da je preterivanje), a neko jednu na ceo projekat (što je glupost).
[Ovu poruku je menjao obucina dana 26.07.2005. u 04:35 GMT+1]