![]() |
Datenbank: ACCESS • Version: 2003 • Zugriff über: ADO
Fehler bei SQL und Combobox.Items.Add
hallo habe folgenden Code..der auch super beim ERSTEN MAL funktioniert!!
Delphi-Quellcode:
soweit so gut..NUR wenn ich ein zweites Mal die Funktion aufrufe (ist auf einen Button gelegt) dann bekomme ich Fehler : EAccessviolation at address 0048A992 read of address: 00000000.
procedure TForm1.FillComboBox2 (aCB : TspSkinComboBox);
begin try ADOQuery7.Close; ADOQuery7.SQL.Text := 'SELECT * FROM Test WHERE ID = 7 ORDER BY ID ASC'; ADOQuery7.Open; while not (ADOQuery7.Eof) do begin aCB.Items.Add(ADOQuery7.FieldByName('ID').AsString); ADOQuery7.Next; end; finally ADOQuery7.Free; end; end; was ist denn das und wieso kommt da ein Fehler sollte doch problemlos funktionieren und eben bei jedem Druck auf den Knopf alles anzeigen?! ach ja der Knopf ist so FillComboBox2(ComboBox1); |
Re: Fehler bei SQL und Combobox.Items.Add
Guten Morgen.
Wenn du die Query-Komponente am Ende zerstörst, dann kannst du sie nur einmal benutzen. Wenn sich die Ergebnismenge nicht ändert, solltest du sie nur einmal einlesen. Bei deinem SQL-Statement fällt mir auf, dass du ID (PK?) selektierst (1 Treffer), nach ID sortierst und dann auch noch den ID in die ComboBox einträgst. Macht sowas Sinn?
Delphi-Quellcode:
Grüße vom marabu
procedure TForm1.FillComboBox2 (aCB : TspSkinComboBox);
begin with ADOQuery7 do try SQL.Text := 'SELECT * FROM Test WHERE ID = 7 ORDER BY ID ASC'; Open; while not Eof do begin aCB.Items.Add(FieldByName('ID').AsString); Next; end; finally Close; end; end; |
Re: Fehler bei SQL und Combobox.Items.Add
hallo marabu :P
abermals darf ich mich für deine Hilfe recht herzlich bedanken. Jetzt weiss ich, dass ich kein zweites Mal aufKomponenten zugreifen kann sofern diese zuvor freigegeben worden sind..hätte diesen Fehler nur dann entdecken können, wenn Delphi ein wenig präziser mit der Fehlermeldung gewesen wäre oder wenigstens in der Procedur anhalten würde und nicht nach dem Aufruf der Procedur. In dem Beispiel habe ich mit Absicht eine feste ID genommen um sicherzustellen, dass das von mir gewollte auch tatsächlich funktioniert. Es wird aber "umgebaut" und es wird nach mehreren Kriterien gesucht. Aber wie du sagtest sonst mit lediglich der Verwendung eines Parameters hätte diese Funktion gar keinen Sinn. Nochmals danke, auf dich kann ich immer zählen :D :thumb: |
Re: Fehler bei SQL und Combobox.Items.Add
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:15 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