Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden (https://www.delphipraxis.net/198653-db-2werte-vergleichen-um-zwischen-insert-und-update-zu-unterscheiden.html)

mkinzler 25. Nov 2018 19:42

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden
 
Delphi-Quellcode:
 Query1.SQL.Text:='Insert into OPmonth (id,WorkH,EIndex,WIndex) '+
   'values (:id, :WorkH,:EIndex,WIndex) ON CONFLICT(id) DO UPDATE set WorkH=:WorkH,EIndex=:EIndex,WIndex=:WIndex';

Amenovis 25. Nov 2018 19:48

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden
 
p80286 ...slq logic error or missing database mhh ich versuch mal MKinzler

Amenovis 25. Nov 2018 19:52

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden
 
Ok Die Version gibt keinen Error aber Eintragen in die DB macht er auch nicht :?::?::?::?::?:

mkinzler 25. Nov 2018 19:55

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden
 
Mir ist auch nicht klar, was Du eigentlich machen willst.
Dein ursprünglicher Code prüft, ob schon ein Eintrag einer bestimmten ID existiert. Wenn nicht wird ein Eintrag ohne Angabe einer ID erzeugt. Dies kann muss aber nicht die vorgegebene ID sein.
Was steckt hinter der ID?

Amenovis 25. Nov 2018 20:03

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden
 
zuerst dachte ich tag dann dachte ich ob das feld id oder tag heisst macht keinen unterschied

wenn ich etwas in eine db eintrage setze ich die id als eindeutige zuweisung daher wollte ich sehen ob der eintrag schon drin ist

sprich ist die id als beispiel 1 steht schon etwas in der db also muss er die zeile nur updaten steht noch gar nichts in der db oder die id ist eine andere soll er insert nutzen

Oder anders erklärt edit feld ist leer also ist die db leer... schreib ich in das editfeld 1 soll er insert nutzen (db ist ja noch leer)wenn noch kein anderer 1 geschrieben hat. ist etwas in der db und die id ist 1 soll er die spalten updaten... schreib ich 2 ins edit soll er inserten wenn noch keine 2 da ist oder wenn eine 2 da ist updaten mhh

mkinzler 25. Nov 2018 20:17

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden
 
Das sollte das UPSERT-Statement machen. Es wird ein Insert durchgeführt, wenn dieser fehlschlägt, da die ID schon vorhanden ist werden die vorhandenen Werte ersetzt.

Dieses eine Statement ersetzt alle Deinen Statements.

Amenovis 25. Nov 2018 20:19

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden
 
ja so versteh ich das auch mhh ich trenn mal den code vom rest mit einem test button vielleicht sitzt der fehler höher nur komischer weise macht er dort alles

mkinzler 25. Nov 2018 20:22

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden
 
Ist ID (oder in Deinem Fall besser Tag) auch Primärschlüssel bzw. hat einen unique contraint?

Amenovis 25. Nov 2018 20:26

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden
 
hab die Tabelle zweimal einmal mit unique und auto inc und einmal als reines Integer Feld .. hab es mit beiden getestet und es macht keinen unterschied er trägt es einfach nicht ein

mkinzler 25. Nov 2018 20:27

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden
 
autoinc ist in diesem Fall kontraproduktiv. Das Feld sollte PK sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:53 Uhr.
Seite 3 von 4     123 4      

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