Problem z bazą danych w Builderze

0

Mam głupi problem....
Filtruję tabelę, ustawiam wskaźnik na jej początku (First()) i za pomocą pętli

do
{
if (warunek)
Table1->Delete();
else
Table1->Next();
}
while (!Table1->Eof);

przelatuję po kolei przez wszystkie rekordy, sprawdzając pewien warunek. Problem w tym, że jeśli warunek zostanie spełniony (np. już przy pierwszym rekordzie) to usuwany jest rekord i pętla się kończy jakby był koniec tabeli (a nie jest).
Wstawiałem tam Next() zamiast Delete() i chodzi dobrze, czyli pętla jest wykonywana tyle razy ile jest rekordów. nie wiadomo dlaczego Delete() powoduje wyjście z pętli (ustawia znacznik końca tablicy?).
Pomóżcie! Mam głupi problem....
Filtruję tabelę, ustawiam wskaźnik na jej początku (First()) i za pomocą pętli

do
{
if (warunek)
Table1->Delete();
else
Table1->Next();
}
while (!Table1->Eof);

przelatuję po kolei przez wszystkie rekordy, sprawdzając pewien warunek. Problem w tym, że jeśli warunek zostanie spełniony (np. już przy pierwszym rekordzie) to usuwany jest rekord i pętla się kończy jakby był koniec tabeli (a nie jest).
Wstawiałem tam Next() zamiast Delete() i chodzi dobrze, czyli pętla jest wykonywana tyle razy ile jest rekordów. nie wiadomo dlaczego Delete() powoduje wyjście z pętli (ustawia znacznik końca tablicy?).
Pomóżcie!

0

Sorki, za powtórzenie tekstu...

1 użytkowników online, w tym zalogowanych: 0, gości: 1