Hallo, ich habe einen Baum der sich aus Daten einer Datenbank zusammensetzt. Ich habe auch eine schleife geschrieben, damit er alle Äste nacheinander in den Baum einträgt. er trägt aber nur immer den letzten ein!Kann mir da jemand weiterhelfen???
Mein Baum soll so aussehen:
Es wird jedoch nur Project3 mit unterknoten Build2 angezeigt....
Code:
public void BuildTree() {
String user_name1,username,project_id;
user_name1 = java.lang.System.getProperties().getProperty("user.name"); //Windows Spezifisch
username = "'" + user_name1 + "'" ; //Windows Spezifisch
String url = "jdbc:postgresql://localhost:5432/QualityDB"
+ "?user=postgres&password=xxxx";
String query = "SELECT project.project_id,project.project_name FROM project INNER JOIN site ON project.site_id = site.site_id INNER JOIN benutzer ON site.site_id = benutzer.site_id Where (benutzer.benutzer_name = "+username+")";
try
{
Class.forName("org.postgresql.Driver");
Connection conn = DriverManager.getConnection(url);
stmt = conn.createStatement();
result = stmt.executeQuery(query);
/* daten durchlaufen */
while (result.next())
{
DefaultMutableTreeNode root = new DefaultMutableTreeNode("root");
DefaultMutableTreeNode Project = new DefaultMutableTreeNode( result.getString(2) );
project_id = result.getString(1);
root.add(Project);
jTree1.setModel(new DefaultTreeModel( root ));
jTree1.setRootVisible(false);
String query2 = "SELECT build.build_id,build.build_name FROM build INNER JOIN project ON build.project_id = project.project_id WHERE (project.project_id = "+project_id+")";
stmt2 = conn.createStatement();
result2 = stmt2.executeQuery(query2);
while (result2.next())
{
DefaultMutableTreeNode Build = new DefaultMutableTreeNode(result2.getString(2));
Project.add(Build);
}
}
}
catch (Exception e)
{
Mein Baum soll so aussehen:
Code:
+Project1
-Build1
-Build2
+Project2
-Build3
+Project3
-Build4
-Build21
-Build2
Es wird jedoch nur Project3 mit unterknoten Build2 angezeigt....