Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi sql-string und addieren (https://www.delphipraxis.net/114665-sql-string-und-addieren.html)

Privateer3000 29. Mai 2008 07:43

Datenbank: mdb • Zugriff über: ado

sql-string und addieren
 
Hallo,
ich habe ein kleines Problemchen
und find keine Lösung.
Delphi-Quellcode:
persoquer.SQL.Text:='UPDATE punkte SET ';
persoquer.SQL.Add('SAC=:PL1,pidn=:PL1a,punktea=:PE3,punkteb=punkteb+:PE3 WHERE pname=:PL2');
persoquer.Prepared:=True;
persoquer.Parameters.FindParam('PL1').Value:='0';
persoquer.Parameters.FindParam('PL1a').Value:=DateTimeToStr(now);
persoquer.Parameters.FindParam('PL2').Value:=logname.Caption;
persoquer.Parameters.FindParam('PE3').Value:=gesamtz;
persoquer.ExecSQL;
punktea und punkteb sind vom gleichem Typ:double
auch gesamtz ist vom typ double
in punktea wird die korrekte Zahl eingetragen:PE3
nur punkteb wird nicht addiert?
Normalerweise sollte doch das gehen,
hab ich einen Fehler gemacht?

Grüße

DeddyH 29. Mai 2008 07:53

Re: sql-string und addieren
 
Du kannst einen SQL-Parameter nicht so einfach 2 mal einfügen.
Delphi-Quellcode:
persoquer.SQL.Text:='UPDATE punkte SET ';
persoquer.SQL.Add('SAC=:PL1,pidn=:PL1a,punktea=:PE3,punkteb=punkteb+:PE4 WHERE pname=:PL2');
persoquer.Prepared:=True;
persoquer.Parameters.FindParam('PL1').Value:='0';
persoquer.Parameters.FindParam('PL1a').Value:=DateTimeToStr(now);
persoquer.Parameters.FindParam('PL2').Value:=logname.Caption;
persoquer.Parameters.FindParam('PE3').Value:=gesamtz;
persoquer.Parameters.FindParam('PE4').Value:=gesamtz;
persoquer.ExecSQL;
So sollte es gehen.

Privateer3000 29. Mai 2008 08:09

Re: sql-string und addieren
 
auch das hatte ich schon probiert.
Danke DeddyH
Bemerkenswert ist dass das Feld punkeb
sogar leer ist,sonst müsste da eine Null stehen.

oldmax 29. Mai 2008 08:20

Re: sql-string und addieren
 
Hi
Ist es möglich, das du eventuell bei der 1. Eintragung eines Datensatzes nicht eine '0' sondern einfach das Feld unberührt gelassen hast. Dann steht da eventuell NIL drin und deine Berechnung kann nicht ausgeführt werden. Frage mal auf NIL ab und trage eine 0 ein, dann sollte es gehen.
Gruß oldmax

Privateer3000 29. Mai 2008 10:57

Re: sql-string und addieren
 
Tatsächlich,beim erstenmal hats nicht funktioniert
erst beim zweitenmal

Danke an Euch!


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