![]() |
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:
In gewisser Weis funktioniert das, aber die Menge/Preis wird jedesmal verdoppelt.
SQL.Text:='UPDATE bestellung SET menge=menge+1,epreis=epreis+:UT2 WHERE artnr=:UM1 ';
D.h. aus Menge 1 wird 3, aus 5 wird 7 usw. Was läuft da schief? Grüße |
Re: integere zahl updaten
Zitat:
Gruss KH |
Re: integere zahl updaten
Das Statement an sich scheint ok, wird es aus irgendeinem Grund mehrmals aufgerufen?
|
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:
mehr passiert da nicht...
if checkartnr(s_artnr,0,False) = False then
insart(s_artnr,multizahl,tg2,tg3,False,pepreismod....) else upart(s_artnr,multizahl,tg2,tg3); |
Re: integere zahl updaten
Setzte dort mal einen Breakpoint
|
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. |
Re: integere zahl updaten
Dann setzte mal fort
|
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. |
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 |
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 10:16 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-2025 by Thomas Breitkreuz