Práce s datasety

Odesláno v August 10, 2005 | Kategorie Programování | Leave a Comment

Zkopírováno z nějaké diskuse. Ten text neni ani tak pro vas jak pro me. Tedy až to budu někdy potřebovat… tak to asi stejně najdu jinde ;-)

Standardne u vsech ClientDatasetu se ulozeni zmen do db provede pomoci metody ApplyUpdates. Metoda Post pouze ulozi zmeny do ClientDatasetu. Dalsi problem u IB (Firebird), na ktery jsem narazil, je v SQL prikazech mit jmena vsech db objektu velkymi pismeny. Jinak hazi nejakou chybu, ze nemuze najit zaznam nebo neco takoveho.
Provider je ti na nic, pokud pouzivas TIBClientDataSet, protoze ten uz ho ma v sobe zahrnutej. Je to takova kompilace tri komponent. IBDatasetu, Providera a ClientDatasetu. Takovy 3 v 1. Jinak bys musel pouzit IBDataset, Provider.Dataset na stavit na IBDataset a ClientDataset.ProviderName na Provider.
Jinak pokud vylozene nepotrebujes zadavat update prikazy, nech to na TIBClientDataSetu, aby data ulozil sam. Pokud ale mas select pres nekolik tabulek a vylozene musis nastavovat jen par hodnot v nekolika tabulkach, pak pouzij IBDataset, Providera a ClientDataset. Pak dalsi komponentu IBUpdateSQL, kterou nastavis do IBDataset.UpdateObject. Na ni uz pak muzes editovat tve update prikazy. Jeste ale nezapomen Provider.ResolveToDataset = true, jinak se to bude snazit stale ukladat Provider sam. Takhle mu reknes, at to posle do IBDatasetu a ten, protoze ma pripojenej IBUpdateSQL, to preda prave jemu a tedy i tvym prikazum.

Komentáře

Váš komentář: