Einzelnen Beitrag anzeigen

Masterraven9

Registriert seit: 18. Nov 2007
5 Beiträge
 
#1

FResult.FieldValue in Array

  Alt 17. Mai 2008, 20:13
Datenbank: MySQL • Version: 5 • Zugriff über: direct
Hy,

ich bin noch ein ziehmlicher Anfänger in der Programmierung und hoffe ihr könnt mir bei meinen Startschwierigkeiten helfen.

Ich versuche die Daten die in einer MySQL Datenbakn stehen auszulesen und in einem Array zu speichern. Ist das überhaupt möglich?

Also zuerst habe ich nach der Anleitung von delphi-treff gearbeitet, was auch funktioniert hat.

Nun möchte ich die Daten aber nicht in einer Tabelle ausgeben sondern in einem Array zwischenspeichern.

Variable:

Delphi-Quellcode:
type
  Daten = record
    ID : string[150];
    Titel : string[150];
    Serie : string[150];
    Staffel : string[150];
  end;

var
  Form1: TForm1;
  Ergebnis : array[1..20] of Daten;
Die Verbindung steht auch soweit und auch die Abfrage ist erfolgreich:

Delphi-Quellcode:
  if assigned(FResult) then begin
    if FMysql.Status<>MYSQL_STATUS_READY then
      ShowMessage('Ein Ergebnis wurde unvollständig gelesen!');
      FreeAndNil(FResult);
  end;
  q := 'SELECT * FROM videos WHERE Art = "3" ORDER BY Serie';
  FResult := FMysql.query(q, true, ex);
  if assigned(FResult) then
    ShowMessage('Query: OK - Ergebnis gespeichert')
  else
    if ex then
      ShowMessage('Query: OK - ausgeführt')
    else
      ShowMessage('Query fehlgeschlagen: '+FMysql.LastError);
Nun versuch ich die Ergebnisse in dem Array Ergebnis zu speichern:

Delphi-Quellcode:
if assigned(FResult) then begin
    if FResult.ResultType=rtStored then begin
      FResult.First;
      for i:=0 to FResult.RowsCount-1 do begin
        Ergebnis[i].ID := FResult.FieldValue(0);
        Ergebnis[i].Titel := FResult.FieldValue(1);
        Ergebnis[i].Serie := FResult.FieldValue(2);
        Ergebnis[i].Episode := FResult.FieldValue(3);
        FResult.Next;
      end;
      FResult.RecNo := cr;
    end;
  end;
Und wenn ich diesen Befehl ausführe bricht der Debugger ab mit einem Prozessfehler beim lesen einer Adresse.
Ich weiß nicht ob ich den Aufbau der Abfrage richtig verstanden hab oder ob der Code 100%ig in Ordnung ist.

Ich hoffe jemand kann mir einen Rat geben

thx
  Mit Zitat antworten Zitat