Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Daten aus der Detailtabelle löschen (https://www.delphipraxis.net/160809-daten-aus-der-detailtabelle-loeschen.html)

Jumpy 3. Jun 2011 09:49

AW: Daten aus der Detailtabelle löschen
 
Zitat:

Zitat von BBoy (Beitrag 1104389)
Wenn ich diese Anweisung: delete from logs where GCCode='GC1XZ2Q'
direkt in den sql editor der DB eingebe kommt ebenfalls eine Fehlermeldung in der die Anweisung wiederholt wird. mehr nicht.

Benutzt du den QutodedSttring dabei oder wie das heißt? Falls nicht musst du auch

='delete from logs where GCCode=''GC1XZ2Q'''

schreiben oder halt noch besser mit Parametern arbeiten.

DeddyH 3. Jun 2011 10:13

AW: Daten aus der Detailtabelle löschen
 
Welche Fehlermeldung kommt denn überhaupt? Dass der Datensatz nicht gelöscht werden kann? In dem Fall musst Du zuerst die abhängigen Detaildaten löschen.

BBoy 3. Jun 2011 11:23

AW: Daten aus der Detailtabelle löschen
 
Zitat:

Zitat von Jumpy (Beitrag 1104394)
Zitat:

Zitat von BBoy (Beitrag 1104389)
Wenn ich diese Anweisung: delete from logs where GCCode='GC1XZ2Q'
direkt in den sql editor der DB eingebe kommt ebenfalls eine Fehlermeldung in der die Anweisung wiederholt wird. mehr nicht.

Benutzt du den QutodedSttring dabei oder wie das heißt? Falls nicht musst du auch
='delete from logs where GCCode=''GC1XZ2Q'''
schreiben oder halt noch besser mit Parametern arbeiten.

Das gebe ich so direkt als SQL anweisung in der Datenbank ein, da kann man die ' direkt machen.
Zitat:

Welche Fehlermeldung kommt denn überhaupt? Dass der Datensatz nicht gelöscht werden kann? In dem Fall musst Du zuerst die abhängigen Detaildaten löschen.
Es kommt ein Fenster "FEHLER: delete from logs where GCCode='GC1XZ2Q'" aber kein Hinweis was für ein Fehler.

Hier meine DB Struktur:
1 Datenbank mit 3 Tabellen:
(1) DataSource1 > TourTable = Mastertable
(2) DataSource2 > LogTable = Detailtable > MasterSource=DataSource1 MasterFields GcCode
(3) DataSource3 > WPtsTable = Detailtable > MasterSource=DataSource1 MasterFields GcCode

Die Datenbank ist Aktiv und alle Tabellen ebenfalls.
Wenn ich in TourTable einen Datensatz in einem DBGrid auswähle werden automatisch alle entsprechenden Datensätze in den beiden Detailtables selektiert.
Und eben genau dann möchte ich im Mastertable den Datensatz löschen mit den dazugehörigen Datensätzen in beiden Detailtables. Klar versuche ich erst die DEtailtables zu löschen und erst dann den Datensatz im Mastertable.

Jumpy 3. Jun 2011 11:44

AW: Daten aus der Detailtabelle löschen
 
[QUOTE=BBoy;1104414]
Das gebe ich so direkt als SQL anweisung in der Datenbank ein, da kann man die ' direkt machen.
[QUOTE]

D.h. also: "Select * From logs where GCCode='GC1XZ2Q'" funktioniert?

Vllt. ist was mit den Rechten?

BBoy 3. Jun 2011 12:13

AW: Daten aus der Detailtabelle löschen
 
ok komischerweise funktioniert das nun alles.

Danke für eure Hilfe.

Gibt es eine möglichkeit im code zu prüfen ob das löschen erfolgreich war nachdem ich TdbQuery1.ExecSQL; ausgeführt habe?

Jumpy 3. Jun 2011 12:39

AW: Daten aus der Detailtabelle löschen
 
Ein neuer Select. Select count* From logs where GCCode='GC1XZ2Q'" Wenn da beim RecordCount 0 rauskommt,...
Oder Select count(*) ...

BBoy 3. Jun 2011 12:44

AW: Daten aus der Detailtabelle löschen
 
Danke!

schlecki 3. Jun 2011 14:55

AW: Daten aus der Detailtabelle löschen
 
einige Zugriffskomponenten bieten auch eine Property "RowsAffected" an. Hier steht ggf. drin, wie viele Datensätze betroffen waren (nach Ausführen per ExecSQL)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:30 Uhr.
Seite 2 von 2     12   

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