Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   CRDBGRID ZEILE löschen (https://www.delphipraxis.net/188961-crdbgrid-zeile-loeschen.html)

strom 22. Apr 2016 11:17

Datenbank: mySQL • Version: MariaDB • Zugriff über: MyDAC

CRDBGRID ZEILE löschen
 
hallo,

möchte gerne eine Zeile im CRDBGrid löschen...

Im Edit1 steht die ID, die gelöscht werden soll!
Wie muss ich diesen Befehl jetzt umsetzten? [Button]

dieses geht nicht?

Delphi-Quellcode:
Form3.TableImport.SQL.Text:='DELETE FROM telegramstorage WHERE ID ='+Edit1.Text;

haentschman 22. Apr 2016 12:47

AW: CRDBGRID ZEILE löschen
 
Moin...:P

Du löscht die Daten nicht im Grid sondern in der verbundenen Datenmenge (Table, Query etc.). Hierbei ist TableX.Delete oder QueryX.Delete dein Freund. http://www.delphipraxis.net/dp_refer...dataset+delete

Nachtrag zu deinem Nachtrag:
Natürlich geht SQL auch. Aber mit einer Query und nicht mit einer Table. Wenn dann benutze bitte Parameter für die Übergabe des Wertes.
Delphi-Quellcode:
Query.SQL.Text := 'DELETE FROM telegramstorage WHERE ID = :TID'
Query.ParamByName('TID').AsInteger := Edit1.Text;
Query.Execute

strom 23. Apr 2016 12:49

AW: CRDBGRID ZEILE löschen
 
hallo,

möchte erreichen, dass alle Datensätze mit STATUS Clear gelöscht werden.

So wird immer nur ein Datensatz gelöscht!

Delphi-Quellcode:
    if Form3.TableImport.Locate('STATUS','Clear', []) then
     begin
   Form3.TableImport.Delete;

nahpets 23. Apr 2016 14:23

AW: CRDBGRID ZEILE löschen
 
Delphi-Quellcode:
Query.SQL.Text := 'DELETE FROM telegramstorage WHERE status = :status'
Query.ParamByName('status').AsString := 'Clear';
Query.Execute


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:20 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