![]() |
Mit Hilfe von SQL überprüfen ob die ID schon vergeben ist?
Hallo zusammen,
ich bins mal wieder! Kann mir einer von euch eventuell sagen wie ich mit Hilfe von SQL herausfinden kann, ob eine ID schon in meiner Tabelle vorhanden ist!? Mein Ansatz:
Delphi-Quellcode:
Gruß Marc
with FHaupt.ADOQuery do begin
Active := FALSE; SQL.Clear; SQL.Add('SELECT ' + FieldCheckID + ' FROM ' + Datenbank.TableCheckID); SQL.Add(' WHERE ' + FieldCheckID + ' = ''' + ID + ''''); Active := TRUE; Open; end; |
Re: Mit Hilfe von SQL überprüfen ob die ID schon vergeben is
Hi,
für gewisse Komponenten gibt es eine Lookup-Funktion. Mit der kannst Du einen Wert in einer Tabelle suchen. Vielleicht auch über die Funktion "Lastinsert_id"... Hoffe das hilft? Gruß, Barnti |
Re: Mit Hilfe von SQL überprüfen ob die ID schon vergeben is
Dein Code sollte eigentlich funktionieren. :gruebel:
Du kannst es ja mal so versuchen...
Delphi-Quellcode:
with FHaupt.ADOQuery do
begin Active := False; SQL.Text := 'SELECT ' + FieldCheckID + #10 + 'FROM ' + Datenbank.TableCheckID + #10 + 'WHERE ' + FieldCheckID + ' = :i_ID'; Prepared := True; Parameters.ParamByName('i_ID').Value := ID; // ich weiß nicht, ob Active bei ADO unbedingt auf True gesetzt werden muss... Active := True; Open; if Eof then Found := False else Found := True; end; |
Re: Mit Hilfe von SQL überprüfen ob die ID schon vergeben is
Hi, danke für die antwort!
Ja der Code funktioniert auch, aber ich weiß nicht wie ich abfragen kann, ob ich einen Wert zurück bekomme. Wenn die ID vorhanden ist, dann bekomme ich den Datensatz übermittelt, wenn sie nicht vorhanden ist dann bekomme ich einen leeren Datensatz. Wie kann ich das abfragen?? Gruß Marc |
Re: Mit Hilfe von SQL überprüfen ob die ID schon vergeben is
Code:
Wenn das Feld "Count_ID" den Wert 0 enthält ist die ID noch nicht da, andernfalls ist sie schon vorhanden.
SQL.Text :=
'SELECT Count(*) Count_ID' + #10 + 'FROM ' + Datenbank.TableCheckID + #10 + 'WHERE ' + FieldCheckID + ' = :i_ID'; p.s.: soetwas meinte r_Kerber mit Unterschieden zwischen Access-SQL und dem von "richtigen" DBs. Dort hättest du keine Zeile bekommen, wenn deine Where-Clause nicht erfüllt ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:35 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