![]() |
Datenbank: Access • Zugriff über: ADO
ist feldX ein gültiger link auf FeldY
hi
sry für den Titel, aber ich hab keine kurze und bessere bezeichnung gefunden :( also, ich hab in einer datenbank 2 spalten 'id' und 'parentid'. nun will ich prüfen ob die zahl in parentid in irgendeinem anderen datensatz in id drinsteht, und alle datensätze wo parentid "ins leere geht" löschen. also will ich einfach alle "falschen" parentids rausfinden...wie geht das?
Delphi-Quellcode:
while GetNextFalsePId do
begin FQuery.SQL.Add('DELETE FROM '+FTable+' WHERE parentid='''+PId+''''); FQuery.Open; end; |
Re: ist feldX ein gültiger link auf FeldY
Eigentlich führt man das mit ExecSQL aus und nicht mit Open, da ja nichts zurückgegeben wird.
Desweiteren rate ich mit parametern zu arbeiten. Such hier ma. Gabs schon genug. |
Re: ist feldX ein gültiger link auf FeldY
Hi,
ohne auf die Effizienz zu achten, könnte man eine Unterabfrage in diesem Stil losschicken.
SQL-Code:
Schönen Abend noch.
delete from Tabelle1 where NOT parendID in ( SELECT ID from Tabelle2)
Niels |
Re: ist feldX ein gültiger link auf FeldY
ahh, genau das suchte ich.
:thumb: (das man so einfach querys verschachteln kann :gruebel: ) @spider warum ExecSQL und nicht open? wo ist der unterschied? was meinst du mit parametern? stecke was db's mit delpgi angeht noch in den kinderschuhen, daher bin ich für jeden guten tipp dankbar.... |
Re: ist feldX ein gültiger link auf FeldY
Zitat:
Open ruft man auf, wenn man SELECT etc. benutzt, überall wo Daten zurückgegeben werden halt. Das mit den Parametern:
Delphi-Quellcode:
Dadurch brauchst du dich nicht um die Hochkommas zu kümmern, da dies automatisch gemacht wird
Query1.SQL.Text := 'SELECT * FROM :table WHERE id = :id';
Query1.ParamByName('table').AsString := 'Tabellenname'; Query1.ParamByName('id').AsInteger := ID; |
Re: ist feldX ein gültiger link auf FeldY
ahhh....das mit den Parametern scheint ne extrem praktische sache zu sein...
aber was wird denn bei ExecSQL zurückgegeben. |
Re: ist feldX ein gültiger link auf FeldY
Zitat:
|
Re: ist feldX ein gültiger link auf FeldY
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 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