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