Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Mit Hilfe von SQL überprüfen ob die ID schon vergeben ist? (https://www.delphipraxis.net/15182-mit-hilfe-von-sql-ueberpruefen-ob-die-id-schon-vergeben-ist.html)

MarcZohren 23. Jan 2004 13:49


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:
  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;
Gruß Marc

barnti 23. Jan 2004 14:03

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

Robert_G 23. Jan 2004 14:12

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;

MarcZohren 23. Jan 2004 14:22

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

Robert_G 23. Jan 2004 14:39

Re: Mit Hilfe von SQL überprüfen ob die ID schon vergeben is
 
Code:
    SQL.Text :=
      'SELECT Count(*) Count_ID' + #10 + 
      'FROM  ' + Datenbank.TableCheckID + #10 + 
      'WHERE ' + FieldCheckID + ' = :i_ID';
Wenn das Feld "Count_ID" den Wert 0 enthält ist die ID noch nicht da, andernfalls ist sie schon vorhanden.

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 03:26 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