Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

Java/JDBC Problem - While Schleife

bumble_beee - 36
Profi (offline)

Dabei seit 12.2004
972 Beiträge

Geschrieben am: 13.01.2012 um 13:10 Uhr

Hallo Zusammen...
ich brauche hilfe, komme bei meiner aufgabe nicht weiter...
Aufgabe:
Gebe jede Abteilung mit den zugehörigen Mitarbeitern aus
Die Daten soll sich eclipse (java) aus der Datenbank (mysql) holen
Das ganze soll eine While-Schleife in einer While-Schleife sein
so quasi in der äußeren durchsucht er die Abteilung und in der Inneren die Mitarbeiter

das haben wir:
rs = stmt.executeQuery(
"SELECT Abteilungen.AbteilungsNr, Abteilungen.AbteilungsName FROM Abteilungen");


while (rs.next()) {
System.out.println("Abteilung: " + rs.getString("AbteilungsNr") + " - " + rs.getString("AbteilungsName"));

stmt2 = con.createStatement();
rs2 = stmt2.executeQuery(
"SELECT Mitarbeiter.Nachname, Mitarbeiter.Vorname FROM Mitarbeiter WHERE x = Mitarbeiter.Abteilungen_AbteilungsNr");
while (rs2.next()){
String x = rs.getString("AbteilungsNr");
System.out.println("\n" + " Mitarbeiter: " + rs2.getString("Mitarbeiter.Nachname")+ ", " + rs2.getString("Mitarbeiter.Vorname"));
}
}

Problem: Er gibt uns jeweils ALLE Mitarbeiter bei jeder Abteilung aus und nicht nur die, die da rein gehören!

hat jemand eine Idee??

Danke :)

Faulheit-ist die Angewohnheit sich auszuruhen, bevor man müde ist

h3mpti - 37
Profi (offline)

Dabei seit 05.2007
878 Beiträge

Geschrieben am: 13.01.2012 um 13:16 Uhr

Zitat:

"SELECT Mitarbeiter.Nachname, Mitarbeiter.Vorname FROM Mitarbeiter WHERE x = Mitarbeiter.Abteilungen_AbteilungsNr"

sicher, dass die Abfrage so korrekt ist?
bumble_beee - 36
Profi (offline)

Dabei seit 12.2004
972 Beiträge

Geschrieben am: 13.01.2012 um 13:18 Uhr

nich so ganz, das x liest er nicht... wir wollen das ergebnis in x speichern (meinte der prof...)
irgendwo ist da noch ein fehler, weil er uns ja alle Mitarbeiter ausgibt und nicht nur die, die in die abteilung gehören...

Faulheit-ist die Angewohnheit sich auszuruhen, bevor man müde ist

MackieMesser - 41
Champion (offline)

Dabei seit 08.2007
3916 Beiträge

Geschrieben am: 13.01.2012 um 13:19 Uhr
Zuletzt editiert am: 13.01.2012 um 13:30 Uhr

Mache doch so etwas mit einem JOIN. Große Querys in while Schleifen sind pfui.

Abteilungsnummern x iterieren:

SELECT m.Nachname, m.Vorname FROM Mitarbeiter m, Atbeilungen a WHERE a.Abteilungen_AbteilungsNr = m.Abteilungen_AbteilungsNr AND a.AbteilungsNr = x;
bumble_beee - 36
Profi (offline)

Dabei seit 12.2004
972 Beiträge

Geschrieben am: 13.01.2012 um 13:21 Uhr

ja das haben wir gemerkt, mit INNERJOIN macht der leider auch nur falsche Angaben... somit bleibt uns nur die While-Lösung...
:(

Faulheit-ist die Angewohnheit sich auszuruhen, bevor man müde ist

h3mpti - 37
Profi (offline)

Dabei seit 05.2007
878 Beiträge

Geschrieben am: 13.01.2012 um 13:22 Uhr

1. Das was MackieMesser sagt.
2. benutzt du in deiner 2. Abfrage keine werte aus der 1. Abfrage.
Dein

Zitat:

String x = rs.getString("AbteilungsNr");

müsste vor dem executeQuery der 2. Abfrage deklariert werden.
bumble_beee - 36
Profi (offline)

Dabei seit 12.2004
972 Beiträge

Geschrieben am: 13.01.2012 um 13:27 Uhr

wenn das x oben deklarier kommt ne exception catched meldung :|
funktioniert leider nicht

Faulheit-ist die Angewohnheit sich auszuruhen, bevor man müde ist

h3mpti - 37
Profi (offline)

Dabei seit 05.2007
878 Beiträge

Geschrieben am: 13.01.2012 um 13:53 Uhr
Zuletzt editiert am: 13.01.2012 um 13:53 Uhr

was denn für eine Exception? Ein paar mehr Infos wären sehr hilfreich.
bumble_beee - 36
Profi (offline)

Dabei seit 12.2004
972 Beiträge

Geschrieben am: 13.01.2012 um 17:59 Uhr

danke für eure Hilfen!
Haben das Problem gelöst :)



Faulheit-ist die Angewohnheit sich auszuruhen, bevor man müde ist

  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2025 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -