AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden
Thema durchsuchen
Ansicht
Themen-Optionen

DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden

Ein Thema von Amenovis · begonnen am 21. Nov 2018 · letzter Beitrag vom 26. Nov 2018
Antwort Antwort
Seite 3 von 4     123 4      
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#21

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden

  Alt 25. Nov 2018, 20:42
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';
Markus Kinzler
  Mit Zitat antworten Zitat
Amenovis

Registriert seit: 17. Nov 2011
52 Beiträge
 
#22

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden

  Alt 25. Nov 2018, 20:48
p80286 ...slq logic error or missing database mhh ich versuch mal MKinzler
  Mit Zitat antworten Zitat
Amenovis

Registriert seit: 17. Nov 2011
52 Beiträge
 
#23

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden

  Alt 25. Nov 2018, 20:52
Ok Die Version gibt keinen Error aber Eintragen in die DB macht er auch nicht
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#24

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden

  Alt 25. Nov 2018, 20:55
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?
Markus Kinzler
  Mit Zitat antworten Zitat
Amenovis

Registriert seit: 17. Nov 2011
52 Beiträge
 
#25

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden

  Alt 25. Nov 2018, 21:03
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

Geändert von Amenovis (25. Nov 2018 um 21:07 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#26

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden

  Alt 25. Nov 2018, 21:17
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Amenovis

Registriert seit: 17. Nov 2011
52 Beiträge
 
#27

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden

  Alt 25. Nov 2018, 21:19
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#28

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden

  Alt 25. Nov 2018, 21:22
Ist ID (oder in Deinem Fall besser Tag) auch Primärschlüssel bzw. hat einen unique contraint?
Markus Kinzler
  Mit Zitat antworten Zitat
Amenovis

Registriert seit: 17. Nov 2011
52 Beiträge
 
#29

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden

  Alt 25. Nov 2018, 21:26
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#30

AW: DB 2Werte vergleichen um zwischen Insert und Update zu unterscheiden

  Alt 25. Nov 2018, 21:27
autoinc ist in diesem Fall kontraproduktiv. Das Feld sollte PK sein.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:44 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