Entwickler-Ecke

Datenbanken - ADODataset.Eof tut nicht was es soll?


YURS - Mi 06.05.09 13:40
Titel: ADODataset.Eof tut nicht was es soll?

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
with MyDataset do
begin
  Findfirst;
  while not Eof do
  begin
    aStringList.add(LizenzNr.Value+'  |  '+Firma.Value);
    Findnext;
  end;
end;


bekomme immer die exception das der datensatz nicht gefunden wurde,
hab das aber schon gecheckt und er findet auch Datensätze nur scheint sich EOF nie auf true zusetzen warum auch immer...!?

Ideen?


Delete - Mi 06.05.09 14:00

Wieso nimmst Du FindFirst und FindNext? Versuch es stattdessen mal mit First und Next.


YURS - Mi 06.05.09 14:07

na die Menge ist gefiltert, da muss man doch findfirst und findnext nehmen, aber vielleicht kommt damit dann eof nicht klar?
Es funktioniert ja auch wunderbar sämtliche gefilterte werte stimmen! nur macht er das in einer endlosschleife :(
-> eof wird nie true


Delete - Mi 06.05.09 14:12

Versuchen wir das mal anders:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
MyDataset.First;
while not MyDataset.Eof do
  begin
    aStringList.add(MyDataset.FieldByName('LizenzNr').Value+'  |  '+MyDataset.FieldByName('Firma').Value);
    MyDataset.Next;
  end;


YURS - Mi 06.05.09 14:15

soo ich hab das mal ohne find getestet die filterung läuft trotzdem richtig und eof schlägt nun auch an... da war die hilfe dann wohl falsch!?

merci =)

warum was testen was die OH gleich missrät? ^^