Kontar
Grünschnabel
Grüßt Euch,
im folgenden findet Ihr eine Methode von mir, welche dazu dienen soll einen JTree mit Informationen aus einer Datenbank zu erzeugen. Die Informationen liegen wie folgt vor
Die Methode wird zunächst mit "Hauptmenü" und dem "root" aufgerufen, sollte die Markierung "2" auftauchen wird an dieser stelle neu mit der Programmgruppe selektiert.
erwartetes Ergebnis:
tatsächliches Ergebnis:
Beobachtung:
Nach Verlassen des rekursiven Aufrufs von der Methode makeTree sind keine Daten mehr im alten ResultSet rsTree vorhanden. Jene sollten aber vor dem Aufruf einer rekursiven Methode gespeichert werden um an der Stelle weiter zu machen, an der der aktuelle Methodenaufruf unterbrochen wurde.
Würde mich freuen wenn mir an dieser Stelle jemand weiterhelfen könnte.
Danke
Gruß
Kontar
im folgenden findet Ihr eine Methode von mir, welche dazu dienen soll einen JTree mit Informationen aus einer Datenbank zu erzeugen. Die Informationen liegen wie folgt vor
Code:
Artikel 1 Hauptmenü
Kunde 1 Hauptmenü
Firma 2 Hauptmenü
Angebot 1 Hauptmenü
Liste 1 Firma
Ansicht 1 Firma
Die Methode wird zunächst mit "Hauptmenü" und dem "root" aufgerufen, sollte die Markierung "2" auftauchen wird an dieser stelle neu mit der Programmgruppe selektiert.
Code:
public DefaultMutableTreeNode makeTree(String name, DefaultMutableTreeNode root) throws SQLException {
Db datab = new Db();
ResultSet rsTree = datab.selectSql( "SELECT programm_name, kennzeichen, programm_menue FROM tbl_zugriff " +
"WHERE programm_menue='" + name + "'");
while(rsTree.next()) {
DefaultMutableTreeNode node = new DefaultMutableTreeNode(rsTree.getString("programm_name"));
root.add(node);
if(rsTree.getInt("kennzeichen")==2) {
makeTree(rsTree.getString("programm_name"), node);
}
}
return root;
}
erwartetes Ergebnis:
Code:
Hauptmenü
|- Kunde
|- Firma
|- Liste
|- Ansicht
|- Angebot
tatsächliches Ergebnis:
Code:
Hauptmenü
|- Kunde
|- Firma
|- Liste
|- Ansicht
Beobachtung:
Nach Verlassen des rekursiven Aufrufs von der Methode makeTree sind keine Daten mehr im alten ResultSet rsTree vorhanden. Jene sollten aber vor dem Aufruf einer rekursiven Methode gespeichert werden um an der Stelle weiter zu machen, an der der aktuelle Methodenaufruf unterbrochen wurde.
Würde mich freuen wenn mir an dieser Stelle jemand weiterhelfen könnte.
Danke
Gruß
Kontar