![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: Zeos
Datensatz schon vorhanden?
Hallo zusammen,
ich müsste irgendwie überprüfen, ob beim Einfügen eines Datensatzes in die DB über ein DBEdit der Datensatz bzw. die neu zugewiesene Nummer schon vorhanden ist? Wie kann ich sowas am schnellsten überprüfen und dabei sicherstellen, dass der Datensatz beim Ändern nicht als schon bekannt "abgestempelt" wird? Ich denke, ich muss das ganze auf jedenfall beforePost machen, oder? Liebe grüße Steffi |
Re: Datensatz schon vorhanden?
Also in PHP würde ich eventuell so vorgehen:
Delphi-Quellcode:
Kann ich in Delphi irgendwie abfragen, ob eine leere Datenmenge zurückkommt?
$query = "SELECT nr FROM tabelle WHERE nr= "$mnr";
$result = mysql_query($query); if (empty($result)){ Eintrag in Tabelle machen... } Liebe Grüße Steffi |
Re: Datensatz schon vorhanden?
Je nach Komponente liefert die DataSet.RecordCount die Anzahl der Datensätze oder du verwendest gleich eine Count()-Abfrage.
|
Re: Datensatz schon vorhanden?
Ich würde das auch mit COUNT machen.
|
Re: Datensatz schon vorhanden?
Ich bevorzuge Query.IsEmpty.
Grüße Mikhal |
Re: Datensatz schon vorhanden?
So hat jeder seine Vorlieben ;)
|
Re: Datensatz schon vorhanden?
Ermittle das besser mit einer Stored Procedure, direkt auf DB-Ebene :
SQL-Code:
Lediglich die SQL-Variable "Aendern" muss da ausgewertet oder eben ans Programm zurückgegeben werden.
AENDERN = -1;
SELECT ID FROM DATASET WHERE (ID = :ID) INTO :AENDERN IsEmpty geht allerdings auch, hat aber eigentlich im Programm selber nichts zu suchen. |
Re: Datensatz schon vorhanden?
Sofern MySQL mit dieser Syntax zurechtkommt.
|
Re: Datensatz schon vorhanden?
Stimmt. Vor 4.0 kennt MySql nicht mal SPs und wurde bei mir deshalb auch im Vorfeld aussortiert. Ansonsten müsste es aber so gehen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:52 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