Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DB macht nur Insert (https://www.delphipraxis.net/6407-db-macht-nur-insert.html)

Hansa 9. Jul 2003 21:03


DB macht nur Insert
 
Hi,

ich habe hier eine Interbase-Datenbank, mache ich ein Insert, so wird ein neuer Datensatz eingefügt. Gebe ich die selben Daten wieder ein, wird das nächste Insert ausgeführt, anstatt eines Updates. Kann das an dem Trigger liegen, der die ID hochzählt ? Die ist nämlich als PK deklariert.

MrSpock 9. Jul 2003 22:21

Re: DB macht nur Insert
 
Hallo Hansa,

das liegt daran, dass INSERT immer einen Satz einfügt. Und 2 * INSERT fügt 2* einen Satz ein :mrgreen: .

Zum updaten muss man in SQL das Schlüsselwort UPDATE benutzen.

Hansa 10. Jul 2003 00:19

Re: DB macht nur Insert
 
Update habe ich aber benutzt

JoelH 10. Jul 2003 06:40

Re: DB macht nur Insert
 
Zitat:

Zitat von Hansa
Update habe ich aber benutzt

glaub ich nicht, hast doch geschrieben =>

Zitat:

Zitat von Hansa
Gebe ich die selben Daten wieder ein, wird das nächste Insert ausgeführt, anstatt eines Updates.

Es kommt nicht darauf an was man eingibt sondern welcher Code dahinter liegt.

Und wenn du einen PrimKey mit Autoinc. benutzt dann kannst du gar nicht dieselben Daten eingeben sondern nur die gleichen (oder sit dass umgekehrt ? Unterschied zwischen gleiche und der selbe wiedermal vergessen :( )die aber einen anderen Key bekommen weil du diesen nicht beeinflussen kannst bzw. sollst, dass ich ja der Sinn des Triggers ;)

MrSpock 10. Jul 2003 07:39

Re: DB macht nur Insert
 
Hallo Hansa,

dann poste bitte mal das UPDATE Staement, das du benutzt.

Lemmy 10. Jul 2003 08:59

Re: DB macht nur Insert
 
Hi Hansa,

irgendwo entscheidest Du doch, ob ein Update oder ein Insert ausgeführt wird. Poste mal diesen COde...


Grüße
Lemmy

Hansa 10. Jul 2003 10:17

Re: DB macht nur Insert
 
Code posten hätte wahrscheinlich nichts genützt. Ich hatte in einem KeyDown-Event die Variable "aendern" auf false gesetzt. D.h. beim Drücken einer Taste wurde der Wert true wieder auf false gesetzt. Dadurch habe ich die DB "gezwungen" ein Insert statt des Updates durchzuführen. 8)

Delphi oder Interbase ist also diesmal unschuldig. :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:53 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