![]() |
Datenbank: interbase 6.5 • Zugriff über: ibx, ibexpert
löschen von datensätzen
hallo
ich habe eine ibdataset - komponente und will nun damit einen datensatz löschen leider funktioniert das nicht wie ich's mir vorstelle das delete-sql-statement lautet folgendermaßen: delete from tabelle where ID = :ID mein löschversuch sieht dann im code folgendermaßen aus:
SQL-Code:
Leider bekomm ich dann immer die Meldung: Not in edit mode.
DataSet.Edit();
DataSet.ParamByName('ID').AsInteger := Zahl; DataSet.Delete(); Kann mir das einer erklären? Danke, Martin |
Re: löschen von datensätzen
Weil Delete nur sinnvoll ist wenn du eine Select-Anweisung hast.
Für eine DELETE...-Anweisung must du die SQL-Anweisung ausführen:
Delphi-Quellcode:
DataSet.Execute;
|
Re: löschen von datensätzen
die TDataSet und Nachfahren davon haben aber gar keine Execute-Methode
|
Re: löschen von datensätzen
Delphi-Quellcode:
DataSet.ParamByName('ID').AsInteger := Zahl;
DataSet.Edit(); DataSet.Delete(); |
Re: löschen von datensätzen
Zitat:
man sollte sich schon entscheiden, ob man ändern oder löschen will. Dann wäre dein SQL für Select und Delete noch interessant. Normalerweise reicht ein Delete, sofern das DataSet offen ist.
Delphi-Quellcode:
Cu, Frank
DataSet.ParamByName('ID').AsInteger := Zahl;
// ich gehe davon aus, dass das DataSet geschlossen ist // oder warum setzt du den Parameter hier im Code? DataSet.Open; if not DataSet.Eof then DataSet.Delete; |
Re: löschen von datensätzen
SQL Befehle mittels Update liefern keine Ergebnismengen, und können, um anzufangen, schon mal garnicht editiert werden. Man hat lso 2 Möglîchkeiten:
a. entweder du verwendest den von Dir verwendeten SQL Befehl, und sendest den so einfach zum SQL Server. Das geht weder micht Edit, noch mit Delete, sondern einfach durch Übermitteln des Befehls mittels ExecSql. b. Du öffnest einfach die Tabelle, also ohne den von dir benannten SQL Befehl, bewegst Dich zu dem entsprechendem Record, und löscht ihn mit "Delete". Methode a. ist da zu bevorzugen, aber beide Methoden mischen kannst Du natürlich nicht. |
Re: löschen von datensätzen
ah ok
hatte mir das anders vorgestellt :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 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-2025 by Thomas Breitkreuz