![]() |
Datenbank: MySql • Zugriff über: MySql Direct
MySql Direct - Zeigt nur manchmal etwas an
Hallo!
Um ein paar Daten aus meiner Datenbank auszulesen benutze ich folgenden Code.
Delphi-Quellcode:
Wenn ich nun das ganze starte, werden die Daten aufgelistet, nach dem ich aber Button 1 zum aktualisieren
procedure Auflisten;
var ex: boolean; q: string; i: Integer; begin if fMySql.Connect then begin if assigned(FResult) then begin if FMysql.Status<>MYSQL_STATUS_READY then FreeAndNil(FResult); end; q := 'SELECT * FROM test'; fResult := fMySql.query(q,true,ex); MainFrm.lview.Clear; i := -1; fResult.First; while not fResult.Eof do begin i := i+1; MainFrm.LView.Items.Add; MainFrm.LView.Items[i].Caption := fResult.FieldValueByName('id'); MainFrm.LView.Items[i].SubItems.Add(fResult.FieldValueByName('name')); MainFrm.LView.Items[i].SubItems.Add(fResult.FieldValueByName('mail')); fResult.Next; end; end; end; // Beim Start verbinden und auflisten procedure TMainFrm.FormCreate(Sender: TObject); begin ConnectMySql; Auflisten; end; // ListView aktualisieren procedure TMainFrm.Button1Click(Sender: TObject); begin Auflisten; end; gedrückt habe passiert gar nichts. Nicht einmal wenn ich einen neuen Datensatz eingefügt habe. Lasse ich Auflisten in der OnCreate weg, passiert auch nichts nach dem Button drücken. Hat vielleicht jemand ne Idee woran das liegen könnte? |
Re: MySql Direct - Zeigt nur manchmal etwas an
Zitat:
Zitat:
edit: Code umgestellt ...
Delphi-Quellcode:
cya
procedure Auflisten;
var ex: boolean; q: string; i, records: Integer; begin if fMySql.Connect then begin if assigned(FResult) then begin if FMysql.Status<>MYSQL_STATUS_READY then FreeAndNil(FResult); end; q := 'SELECT * FROM test'; fResult := fMySql.query(q,true,ex); records := fResult.RowsCount; MainFrm.lview.Clear; for i:=0 to records-1 do begin MainFrm.LView.Items.Add; MainFrm.LView.Items[i].Caption := fResult.FieldValueByName('id'); MainFrm.LView.Items[i].SubItems.Add(fResult.FieldValueByName('name')); MainFrm.LView.Items[i].SubItems.Add(fResult.FieldValueByName('mail')); fResult.Next; end; FreeAndNil(fResult); end; end; |
Re: MySql Direct - Zeigt nur manchmal etwas an
Danke für den Tipp, funktionieren tut es leider trotzdem noch nicht.
Ich habe das Gefühl, dass das ganze mit der ListView zusammenhängt. Wenn ich einen der Werte in einer ShowMessage anzeigen lassen steht dort etwas drinne, die ListView hingegen bleibt leer. :( |
Re: MySql Direct - Zeigt nur manchmal etwas an
was passiert wenn du statt
Zitat:
Delphi-Quellcode:
vllt. stimmt etwas mit deinen feldbezeichnungen nicht
MainFrm.LView.Items[i].Caption := fResult.FieldValue(0);
MainFrm.LView.Items[i].SubItems.Add(fResult.FieldValue(1)); MainFrm.LView.Items[i].SubItems.Add(fResult.FieldValue(2)); cya |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz