Einzelnen Beitrag anzeigen

Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#1

Tlist wird nicht richtig gefüllt

  Alt 28. Aug 2008, 15:24
Hallo,
ich schreibe an einem NonVCL Programm und möchte eine TList mit meinen Accountdaten füllen.
Die Daten werden auch richtig in die Liste eingetragen, aber sobald ich die Daten aus der Liste auslesen möchte zeigt der mir von den zwei Accounts zweimal den zweiten an.

Hier mal der Code:
Delphi-Quellcode:
  type
  TAccounts = class(TObject)
    ID : Integer;
    Name : String;
    Passwort : String;
    ban : integer;
  end;

...

  q:='select * from user;';
  FResult := FMysql.query(q, true, ex);
  if ex then
  begin
  ListAccounts:= TList.Create;
  Account:= TAccounts.Create;
  FResult.First;
   for I := 0 to FResult.RowsCount - 1 do
   begin
    Account.ID := strtoint(Fresult.FieldValuebyname('id'));
    Account.Name := Fresult.FieldValuebyname('username');
    Account.Passwort := Fresult.FieldValuebyname('password');
    Account.ban := strtoint(Fresult.FieldValuebyname('ban'));
    ListAccounts.Add(Account);
   FResult.Next;
   end;

...

   for E := 0 to SQL.ListAccounts.Count -1 do
   begin
   Account := SQL.ListAccounts.Items[E];
   WriteLN('Name: '+Account.Name+' | '+'ID: '+inttostr(Account.ID));
   end;
Das Ergebnis in der Konsole ist:
Name: test | ID: 2
Name: test | ID: 2

Eigentlich müsste es aber so aussehen:
Name: XXcD | ID: 1
Name: test | ID: 2

Wo könnte da der Fehler liegen?
  Mit Zitat antworten Zitat