Thema: Delphi Problem mit mysql.pas

Einzelnen Beitrag anzeigen

Der Heide

Registriert seit: 19. Feb 2004
2 Beiträge
 
#1

Problem mit mysql.pas

  Alt 23. Feb 2004, 10:15
Hallo Leute,
habe ein Problem bei der Abfrage meiner MySQL Datenbank mit der mysql.pas und Ausgabe in eine TreeView Komponente. Die Verbindung ist bereits erfolgreich hergestellt. Die Ausgabe funktioniert nur wenn man in der GetFach Funktion eine AktNode := TRE_Fach.Items.AddChild(TRE_Fach.Items[0],AktFach.FachName); einbaut. Ich vermute, dass die while Schleife nicht funktioniert, aber warum das der Fall ist, kann ich mir nicht erklären. Als ich noch mit den ADO Komponenten zugriff, funktionierte es!

Delphi-Quellcode:
type
  TFach = record
    FachName : String;
  end;
Delphi-Quellcode:
// Funktion aus dem Datenmodul
function TDM_Fragenkatalog.GetFach (var Fach : TFach) : Boolean;
var
    _myCon: PMySQL;
    myRES : PMYSQL_RES;
    myROW : PMYSQL_ROW;
    i : Cardinal;
begin
GetFach := TRUE;
    if mysql_query(_myCon, 'SELECT * FROM FACH ORDER BY FACH_NAME') = 0 then begin
        myRES := mysql_store_result(_myCon);
        if (myRES <> nil) then begin
            for i := 0 to myRES.row_count - 1 do begin
                myROW := mysql_fetch_row(myRES);
                Fach.FachName := myROW^[1];
            end;
            mysql_free_result(myRES);
            GetFach := FALSE;
        end;
    end;
end;
Delphi-Quellcode:
// Procedure aus dem Hauptformular
procedure TFRM_Main.InitListView;
var
AktFach : TFach;
AktNode : TTreeNode;
begin
  TRE_Fach.Items.Clear;
  TRE_Fach.Items.Add(NIL,'Fragenkatalog');
  while TDM_Fragenkatalog.GetFach (AktFach) = TRUE do
    begin
      AktNode := TRE_Fach.Items.AddChild(TRE_Fach.Items[0],AktFach.FachName);
      TRE_Fach.Items.AddChild (AktNode,'Dummy');
    end;
  TRE_Fach.Items[0].Expand (FALSE);
end;
Vielen Dank im voraus!!!

MfG Marcus
  Mit Zitat antworten Zitat