Soweit so gut.
Leider funktioniert das Beispiel nicht. Kann zwar die Verbindung herstellen und ohne Fehlermeldung das Execute ausführen, allerdings sind für Name und Department keine Einträge vorhanden (siehe anliegenden Screenshot).
Woran kann das liegen?
Ich behaupte mal, daß die Feldnamen ('Name','Department') nicht stimmen. Mit 'NAME' könnte es z.B. funktionieren, oder aber sie sind überhapt nicht vorhanden.
Versuch mal etwas ähnliches wie:
Delphi-Quellcode:
outputMemo.Text:= '
';'
'
// Die Feldnamen aus der Query hinzufügen.
dummy:='
';
for i:=0
to query.fields.count-1
do
dummy:=dummy+
query.fields[i].
Name+'
|';
outputMemo.Lines.Add(dummy);
// Dem Memo eine Zeile pro Datensatz in der Tabelle hinzufügen.
while not query.Eof
do
begin
outputMemo.Lines.Add(
String.Format('
|%8d|%-25|%-25s|',
[
query.FieldByName('
ID').AsInteger,
query.FieldByName('
Name').AsString,
query.FieldByName('
Department').AsString]));
query.Next;
end;
Dann sollten in der Kopfzeile die von der
Query zurückgegebenen Feldnamen auftauchen.
U.U. ist auch folgendes möglich
Delphi-Quellcode:
for i:=0
to query.fields.count-1
do
dummy:=
query.fields[i].asString;
outputMemo.Lines.add(dummy);
um die Feldinhalte ohne Namenskenntnis zurück zu geben.
Gruß
K-H