![]() |
Datenbank: Access • Zugriff über: ADO
Delete SQL
Hallo Leute, ich hätte da mal wieder eine kleine Frage.
Ich habe eine Listbox, die Werte werden aus einer Tabelle, einer Datenbank geladen. Wenn ich jetzt einen Wert in der Listbox makiere und auf einen Button drüke, möchte ich gerne, dass dieser Wert aus dewr Tabelle der Datenbank gelöscht wird. Mein Ansatz ist so: TADOQuerry.Open mit SQL Text:
SQL-Code:
lehrer_list ist der Name der Listbox, hier zeigt der Debugger einen Fehler, sheint so, als würde das so nicht direkt gehe, wie soll ich da rangehen? Danke für eure Mühe im voraus. :-D
select*from lehrer;
delete from lehrer where lehrer = lehrer_list;//lehrer_list ist der Name der Listbox |
Re: Delete SQL
|
Re: Delete SQL
Super Danke für den Link.
Also ich habe das dann so:
Delphi-Quellcode:
Der Debugger gibt mir ein aus string und listbox inkompatible typen sind. woran liegt das?
ADOQuery1.Open;
ADOQuery1.SQL.Text := 'select * from `lehrer`; delete from `lehrer` where `lehrer` = '''+lehrer_list+''';'; |
Re: Delete SQL
Weil Du so die ganze ListBox übergibst, Du willst aber nur das Text vom Item. Siehe dazu .Items und Itemindex.
|
Re: Delete SQL
Das dachte ich auch. Mit Items oder Itemsindex funktioniert es aber auch nicht :(
|
Re: Delete SQL
Wie hast du es versucht?
|
Re: Delete SQL
Delphi-Quellcode:
Hier kommt eine fehlermeldung. Itemindex überschreitet das maximum von -1
procedure TForm4.delete_btnClick(Sender: TObject);
var i: integer; h: integer; begin ADOQuery1.Open; for h := lehrer_list.Items.Count - 1 downto 0 do if lehrer_list.Selected[h] then for i := lehrer_list.Items.Count - 1 downto 0 do if lehrer_list.Selected[i] then lehrer_list.Items.Delete(i); ADOQuery1.SQL.Text := 'delete from `lehrer` where `lehrer` = '''+lehrer_list.Items[i]+''';'; end; |
Re: Delete SQL
Was sollen deine Schleifen den bewirken?
|
Re: Delete SQL
Jetzt überleg mal ganz langsam, was dieser Code macht, dann siehst Du den Fehler sofort ;)
|
Re: Delete SQL
ich habe die schleife für die listbox.
damit wird genau die makierte zeile in der listbox gelöscht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:22 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