W bde jest coś takiego jak cached updates co powoduje ze zmiany w danych nie zapisuje się automatycznie, dopiero po posłaniu post.
Jak uzyskac coś takego w ADOTable, szukałem i nie widzę, help.
Przeszkadza mi to commitowanie przy zmianie kazdego wiersza.
Z góry dzięki za pomoc.
Pzdr.
Stwórz zbiór rekordów odlączonych. W przypadku DataSet robi sie to w następujący sposób
ADODataSet1.Connection:=nil;
ADOConnection1.Connected:=False;
i zastosuj tzw uaktualnianie wsadowe
//otworzenie połączenia z bazą
ADOConnection1.Connected:=True;
ADODataSet1.Connected:=ADOConnection1;
try
//uaktualnienie rekordów
ADODataSet1.UpdateBatch;
finally
//ponowne odłączenie rekordów
ADODataSet1.Connection:=nil;
ADOConnection1.Connected:=False;
end;
Powinno też działać z ADOTable - więcej o rekordach odłączonych, aplikacjach modelu aktówki mozna przeczytać w książce "Oracle 10g i Delphi. programowanie baz danych" (w lutym będzie w sprzedaży), lub w gazecie SDJ (numer ukaże sie ok 18 lutego)
Artur napisał(a)
Stwórz zbiór rekordów odlączonych. W przypadku DataSet robi sie to w następujący sposób
ADODataSet1.Connection:=nil;
ADOConnection1.Connected:=False;
i zastosuj tzw uaktualnianie wsadowe
//otworzenie połączenia z bazą
ADOConnection1.Connected:=True;
ADODataSet1.Connected:=ADOConnection1;
try
//uaktualnienie rekordów
ADODataSet1.UpdateBatch;
finally
//ponowne odłączenie rekordów
ADODataSet1.Connection:=nil;
ADOConnection1.Connected:=False;
end;
Powinno też działać z ADOTable - więcej o rekordach odłączonych, aplikacjach modelu aktówki mozna przeczytać w książce "Oracle 10g i Delphi. programowanie baz danych" (w lutym będzie w sprzedaży), lub w gazecie SDJ (numer ukaże sie ok 18 lutego)
Wielkie dzięki tylko pytanie, czy nie będzie się sypało jeśli nie rozłęczę się z bazą ?? Sprawa jest taka ze przy insercie do jednej tabeli na triggerze tworza sie rekordy w innej, podrzeędnej, generalnie chce przenieść tego triggera do aplikacji, a nie chce żeby mi sie od razu zapisały, tylko czy jesli zrobię
ADODataSet1.Connection:=nil;
to mi nie będzie krzyczec ze nie mozna wykonać operacji na zamknietym zestawie ??
Dzięki za info.
Nie da się "wyłączyć" zapisywania przy przechodzeniu do nowego rekordu, cos jakby:
// przy zmianie rekordu
if ds_table_umowy.status in dsEdit, dsInsert then nil;
Dzięki za info.
Można pracować na zbiorze rekordów odłączonych - bo są one przetrzymywane w pamięci - wiec mozesz do nich dodawać nowe wpisy, usuwać, modyfikować itp. a co potem z nimi siestanie zalezy od ciebie - czy zostana zapiane do bazy czy też nie - więc nie powinno sie sypać. Ten przyklad, który Ci podalem na pewno u mnie działa.
Dzięki :-), kiedy dokładnie ta Twoja książka wychodzi, dokładnie ??
Pewnie w następnym tygodniu:) Śledź witrynkę http://helion.pl/ksiazki/oradel.htm
A jeśli chodzi o czasopismo SDJ to pewnie ok 18 lutego