folgende Codesequenz zeigt ein Verhalten, mit dem ich nicht gerechnet habe.
Die Anzeige Recordcount = 4 und Fieldcount = 1 sind korrekt. Doch dann wird es für mich merkwürdig. Es werden nicht die 4 Werte angezeigt, sondern die whlie-Schleife wird übergangen, EOF ist wohl eingetreten ??????
Kommentiere ich nun das erste showmessage aus wird mir in der While-Schleife der erste Wert angezeigt. Danch erscheint aber die Fehlermeldung
Code: Alles auswählen
Operation cannot be performed on an inactive dataset
Code: Alles auswählen
sqllebensmittel.Close;
sqllebensmittel.SQL.Text := 'SELECT naehrName FROM tblNaehrwerte';
sqllebensmittel.Open;
showmessage(inttostr(sqllebensmittel.RecordCount));
showmessage(inttostr(sqllebensmittel.FieldCount));
while not sqllebensmittel.EOF do begin
//for j := 0 to sqllebensmittel.RecordCount - 1 do begin
showmessage(sqllebensmittel.Fields[0].AsString);
sqllebensmittel.Next;
end;
Kann mir einer von Euch dieses Verhalten erklären?
Bis dann ...
MfG
Günter