Hallo zusammen,
ich habe sowohl google als auch forensuche oder faq durchforstet. Leider keine Lösung für mein Problem gefunden. Ich hoffe ich habe nichts übersehen und erzeuge hier redundante Einträge. Wenn ja, sorry dafür.
ich habe eine Tabelle in einer mysql datenbank:
id;gruppe;team;punkte
Hier finden sich in beliebiger Reihenfolge Datensätze in der Form wie oben angezeigt. Jetzt versuche ich verzweifelt eine Platzierung zu generieren. Das bedeutet, ich benötige pro Gruppe die Platzierung anhand der Punkte.
Also suche ich mir im Step 1 die Gruppen heraus und lasse die Einträge nach gruppe gruppieren. bekomme also brav eine Liste der vorhandenen Gruppen, wobei durch den GROUP Parameter ja nur ein Eintrag pro Gruppe angezeigt wird. Also alles gut. Der Step funktioniert auch.
Hie rder Code zu Step 1
Innerhalb der While Schleife springe ich in TestStep2, wobei ich den Parameter der Gruppe übergebe und die SQL Abfrage entsprechend vornehme:
Dummerweise durchläuft mir der Step2 die Schleife, findet aber irgendwie nicht zurück in den Step1 um die Schleife in Step1 weiter abzuarbeiten.
Ausgabe der logger.info:
Jetzt fehlen mir jedoch die Einträge für gruppe A2 oder B1 oder oder oder ... Also springt mir java nicht zurück zur Schleife in Step1. Warum?
Ich muss dazu sagen, dass es sich um fiktive Einträge handelt. Ja, mir ist klar, dass die Punktzahl 7 auf Platz 3 gleichzusetzen wäre mit der von Platz 6. zur Info: es gibt mehrere Kriterien, an denen die Punkte festgemacht werden. Diese habe ich hier der Einfachheit jedoch rausgenommen.
Ich wäre sehr dankbar für Informationen, die mir zur Lösung des Problems verhelfen.
ich habe sowohl google als auch forensuche oder faq durchforstet. Leider keine Lösung für mein Problem gefunden. Ich hoffe ich habe nichts übersehen und erzeuge hier redundante Einträge. Wenn ja, sorry dafür.
ich habe eine Tabelle in einer mysql datenbank:
id;gruppe;team;punkte
Hier finden sich in beliebiger Reihenfolge Datensätze in der Form wie oben angezeigt. Jetzt versuche ich verzweifelt eine Platzierung zu generieren. Das bedeutet, ich benötige pro Gruppe die Platzierung anhand der Punkte.
Also suche ich mir im Step 1 die Gruppen heraus und lasse die Einträge nach gruppe gruppieren. bekomme also brav eine Liste der vorhandenen Gruppen, wobei durch den GROUP Parameter ja nur ein Eintrag pro Gruppe angezeigt wird. Also alles gut. Der Step funktioniert auch.
Hie rder Code zu Step 1
Code:
public void TestStep1(){
try{
String sql = "SELECT gruppe FROM TestTabelle GROUP BY gruppe";
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
while(rs.next()){
TestStep2(rs.getString("gruppe"));
}
}catch(Exception e){JOptionPane.showMessageDialog(null, e);}
}
Innerhalb der While Schleife springe ich in TestStep2, wobei ich den Parameter der Gruppe übergebe und die SQL Abfrage entsprechend vornehme:
Code:
public void TestStep2(String gruppe){
try{
String platzierung = "SELECT id,team,punkte FROM TestTabelle WHERE gruppe = '"+gruppe+"' ORDER BY punkte DESC";
pst = conn.prepareStatement(platzierung);
rs = pst.executeQuery();logger.info(pst);
int platz = 1;
while(rs.next()){
String id = rs.getString("id");
String team = rs.getString("team");
String punkte = rs.getString("punkte");
logger.info("Füge ein: " + platz +" "+ gruppe + " " + team + " " + punkte);
platz++;
}
}catch(Exception e){JOptionPane.showMessageDialog(null, e);}
}
Dummerweise durchläuft mir der Step2 die Schleife, findet aber irgendwie nicht zurück in den Step1 um die Schleife in Step1 weiter abzuarbeiten.
Ausgabe der logger.info:
Code:
Füge ein: 1 A1 97 19
Füge ein: 2 A1 29 13
Füge ein: 3 A1 11 7
Füge ein: 4 A1 8 7
Füge ein: 5 A1 15 7
Füge ein: 6 A1 14 7
Jetzt fehlen mir jedoch die Einträge für gruppe A2 oder B1 oder oder oder ... Also springt mir java nicht zurück zur Schleife in Step1. Warum?
Ich muss dazu sagen, dass es sich um fiktive Einträge handelt. Ja, mir ist klar, dass die Punktzahl 7 auf Platz 3 gleichzusetzen wäre mit der von Platz 6. zur Info: es gibt mehrere Kriterien, an denen die Punkte festgemacht werden. Diese habe ich hier der Einfachheit jedoch rausgenommen.
Ich wäre sehr dankbar für Informationen, die mir zur Lösung des Problems verhelfen.