Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi integere zahl updaten (https://www.delphipraxis.net/126834-integere-zahl-updaten.html)

Privateer3000 3. Jan 2009 07:16

Datenbank: mdb • Zugriff über: ado

integere zahl updaten
 
Hallo und ein gesundes neues Jahr Euch allen!

Um neue Erfahrungen zu sammeln möchte ich einen kleinen Shoppingcart basteln.
Jetzt habe ich folgendes Problem.
per funktion prüfe ich ob sich schon ein Artikel in der bestellungstabelle befindet.
Ist dies nicht der Fall wird er korrekt eingetragen.
Befindet sich der Artikel schon in der Tabelle soll die Menge und natürlich der Preis
verändert werden.
SQL-Code:
SQL.Text:='UPDATE bestellung SET menge=menge+1,epreis=epreis+:UT2 WHERE artnr=:UM1 ';
In gewisser Weis funktioniert das, aber die Menge/Preis wird jedesmal verdoppelt.
D.h. aus Menge 1 wird 3, aus 5 wird 7 usw.
Was läuft da schief?

Grüße

khh 3. Jan 2009 07:31

Re: integere zahl updaten
 
Zitat:

Zitat von Privateer3000
Hallo und ein gesundes neues Jahr Euch allen!

Um neue Erfahrungen zu sammeln möchte ich einen kleinen Shoppingcart basteln.
Jetzt habe ich folgendes Problem.
per funktion prüfe ich ob sich schon ein Artikel in der bestellungstabelle befindet.
Ist dies nicht der Fall wird er korrekt eingetragen.
Befindet sich der Artikel schon in der Tabelle soll die Menge und natürlich der Preis
verändert werden.
SQL-Code:
SQL.Text:='UPDATE bestellung SET menge=menge+1,epreis=epreis+:UT2 WHERE artnr=:UM1 ';
In gewisser Weis funktioniert das, aber die Menge/Preis wird jedesmal verdoppelt.
D.h. aus Menge 1 wird 3, aus 5 wird 7 usw.
Was läuft da schief?

Grüße

ich nehme mal ganz vorsichtig an, dass du das statement evtl. 2mal ausführst ;-)


Gruss KH

mkinzler 3. Jan 2009 07:32

Re: integere zahl updaten
 
Das Statement an sich scheint ok, wird es aus irgendeinem Grund mehrmals aufgerufen?

Privateer3000 3. Jan 2009 07:48

Re: integere zahl updaten
 
das habe ich auch schon überlegt, finde aber nichts.
ein 'onclick' auf ein Artikelbutton löst folgendes aus:
eine funktion prüft ob sich artikel in der tabelle befindet
wenn nicht wird insert (eigene methode) ausgeführt
wenn ja, wird update ausgeführt (auch dies hat eine eigene methode)
Delphi-Quellcode:
if checkartnr(s_artnr,0,False) = False then
insart(s_artnr,multizahl,tg2,tg3,False,pepreismod....)
else
upart(s_artnr,multizahl,tg2,tg3);
mehr passiert da nicht...

mkinzler 3. Jan 2009 07:51

Re: integere zahl updaten
 
Setzte dort mal einen Breakpoint

Privateer3000 3. Jan 2009 08:01

Re: integere zahl updaten
 
hab ich gemacht,genau bei upart
zuerst wird insart ausgeführt
wird der gleiche artikel nochmal aufgerufen
hält das programm exakt bei upart an.

mkinzler 3. Jan 2009 08:06

Re: integere zahl updaten
 
Dann setzte mal fort

Privateer3000 3. Jan 2009 08:13

Re: integere zahl updaten
 
hab ich gemacht,
alles geht dann den normalen weg weiter, ohne etwas zu wiederholen.
das problem kann nur im upart liegen, denn wenn es vorher wäre
würde auch insart mehrmals aufgerufen werden.
auch bei der Prüfung muss es funktionieren, denn der artikel
befindet sich nur einmal in der Tabelle.

Privateer3000 3. Jan 2009 08:21

Re: integere zahl updaten
 
leute,leute
manchmal zweifel ich an mir selbst
ich habe aus versehen Execsql zweimal in der methode
einmal nach dem sql.text danach frage ich den erfolg
mit if execsql > 0 ab. natürlich macht der dann das ganze zweimal.
Vielen Dank für Eure Bemühungen, aber durch die breakpoints ist mir das erst aufgefallen.

Danke noch mal und schönes WoE

mkinzler 3. Jan 2009 08:25

Re: integere zahl updaten
 
Die Frage nah dem Code der Methode/Prozedur wäre meine nächste gewesen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:29 Uhr.
Seite 1 von 2  1 2      

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