ResultSets aufaddieren

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo,

ich würde gerne ein rs (es enthält doublebeträge) auslesen und dabei immer aufsummieren um am Ende eine gesamtSumme zu erhalten.

Leider weiß ich nicht wie man dieses resultset aussummieren könnte.

Code:
          double gesamtBetrag = 0;

             while (rs.next()) 
                  
             {
            	 System.out.println(rs.getDouble(1));
        		 double teilBetrag = Double.parseDouble(rs.next());     <=====Hier liegt das Problem?!?
            	 
        		 gesamtBetrag = gesamtBetrag + teilBetrag;
        		 System.out.println("Gesamtbetrag" + gesamtBetrag);
            	 
        
                              }

Vielen Dank
 

thE_29

Top Contributor
rs.getDouble(1)

mit rs.next() sprintg man nur in die nächste Ergebniszeile...

Und dein vorher ausgegebens rs.getDouble(1) musst du wegnehmen, weil man nur 1mal auf einen Index im Resultset zugreifen kann!!
 

TRunKX

Bekanntes Mitglied
Hätte ich nicht besser sagen können nimm aber noch ne Laufvariable macht das ganze schöner!
 
G

Gast

Gast
Ok, das heißt ich kann entweder nur die Summe ausgeben oder die einzelwerte, aber nicht beides.

Wenn ich dann aber beides will muss ich ne zweite Abfrage machen oder gibts ne andere Lösung?
 

thE_29

Top Contributor
ÖÖÖ???

Stehst du ein bisi aufn Schlauch oder wie nun??
Code:
double gesamtBetrag = 0;
         while (rs.next())
         {
             double teilBetrag = rs.getDouble(1);               
             System.out.prinltn("Teilbetrag" + teilBetrag);
             gesamtBetrag = gesamtBetrag + teilBetrag;
             System.out.println("Gesamtbetrag" + gesamtBetrag);
          }
 
G

Gast

Gast
Hab das Problem jetzt so gelöst:

Code:
             double[] s = new double[7];
             int i=0;
             
             while (rs.next()) 
                  
             {
            	  
//            	System.out.println("Einzelwert:"+rs.getDouble(1));
        		 double teilBetrag = rs.getDouble(1);
        		 gesamtBetrag = gesamtBetrag + teilBetrag;
            	
            		 
                     	
            			 s[i] = teilBetrag;
            			 System.out.println("Teilbetrag" + i + "Betrag:" +s[i]);
            	i++;	 
             }
                              
             		System.out.println("Gesamtbetrag:" + gesamtBetrag);

Bin für Verbesserungsvorschläge immer offen.
 

Bleiglanz

Gesperrter Benutzer
hä?

du kannst ja die einzelwerte ausgeben und währenddessen mitsummieren??

unter Umständen ist es aber besser, wenn du erst einen SELECT SUM(...) machst und dann nochmal die "normale" Abfrage
 
G

Gast

Gast
sorry thE_29 stand wirklich auf dem schlauch. Aber jetzt hab ichs auc hgleich gespeichert, dann kann ichs weiterverarbeiten....
 

thE_29

Top Contributor
Brauchst du die einzelen Teilbeträge nachher auch noch??


Falls nicht, vergiß das mit dem Array.... Falls ja, kannst du es so lassen!!


Nur dürfen halt dann nicht mehr als 7 Zeilen zurückkommen!
 
G

Gast

Gast
Danke für den Denkanstoß, ja ich brauche die teilbeträge nachher noch.
cool, wenn das mit dem arrey ok ist lass ich das so.

Danke
 
B

bygones

Gast
naja das mit dem Array würde ich mal suboptimal nennen.

Sobald deine Anfrage mehr als 7 Einträge zurcükliefert fliegt dir das Ding um die Ohren
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben