Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL: DELETE führt zu Zugriffsverletzung?! (https://www.delphipraxis.net/40066-sql-delete-fuehrt-zu-zugriffsverletzung.html)

Plague 10. Feb 2005 15:16

Datenbank: Paradox • Version: 7 • Zugriff über: Query Komponente

SQL: DELETE führt zu Zugriffsverletzung?!
 
Hallo,

wieso kommt es bei folgendem Code zu einem Zugriffsverletzung?
Ziel ist es mit einem Click im PopUp Menü einen Datensatz zu löschen. Ausgewählt wird er aus einer Listview Komponente.

Delphi-Quellcode:
procedure TFrame3.Lschen2Click(Sender: TObject);
var
ID : Integer;
item : TListItem;
begin
if (Listview1.Selected.Selected) then
  begin
    ID := Integer(Item.Data);
    Query1.Close;
    Query1.SQL.Text := 'DELETE FROM Benutzer WHERE ID = '+inttostr(ID);
    Query1.ExecSQL;
  end;

end;
Gruß
Thomas

alcaeus 10. Feb 2005 15:23

Re: SQL: DELETE führt zu Zugriffsverletzung?!
 
Hallo Plague,

du machst einige Fehler:

Delphi-Quellcode:
procedure TFrame3.Lschen2Click(Sender: TObject);
var
ID : Integer;
begin
  if ListView1.ItemIndex > -1 then //Prüfung ob ein Element ausgewählt wird durch Abfrage von ItemIndex
//if (Listview1.Selected.Selected) then
  begin
    ID := Integer(ListView1.Selected.Data); //ListItem war nicht initilisiert, deshalb die AV. jetzt gehen wir direkt auf das ausgewählte Element.
    Query1.Close;
    Query1.SQL.Text := 'DELETE FROM Benutzer WHERE ID = '+inttostr(ID);
    Query1.ExecSQL;
  end;

end;
So sollte es klappen.

Greetz
alcaeus

Luckie 10. Feb 2005 15:24

Re: SQL: DELETE führt zu Zugriffsverletzung?!
 
Guck dir mal diese Zeile an:
Delphi-Quellcode:
ID := Integer(Item.Data);
Da du die Variable Item nie intialisiert hast bzw. in keinster Weise irgendwie mit dem Listview verknüpft ist, dürfte da nur Schrott drinne stehen und beim Zugriff bekommst du dann deine AccessViolation.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz