2016-04-15 7 views
1

Schnell Fragen ...Probleme mit ResultSet Knoten

Ich versuche, eine dynamische JTree zu machen, aber ich kann nicht jede Datenbank Ich habe in einem einzigen Knoten für jeden setzen lernen. Dies ist mein Code so weit:

jTree2 = new javax.swing.JTree(); 
try { 
    String DSN = "jdbc:mysql://localhost"; 
    String user = "root"; 
    String password = ""; 
    conexion = DriverManager.getConnection(DSN, user, password); 
} 
catch(Exception e) { 
    System.out.println("ERROR"); 
} 
try { 
    sentencia = conexion.createStatement(
    ResultSet.TYPE_SCROLL_INSENSITIVE, 
    ResultSet.CONCUR_READ_ONLY); 
} 
catch(Exception e) { 
    System.out.println("ERROR2"); 
} 
try { 
    String hi = ""; 
    ResultSet rs1 = conexion.getMetaData().getCatalogs(); 
    ResultSetMetaData rsmd = rs1.getMetaData(); 
    int columnCount = rsmd.getColumnCount(); 
    while (rs1.next()) { 
     for (int i = 1; i <= columnCount; i++) { 
      hi = hi + rs1.getString(i) + ", "; 
     } 
     //for 
     String sb = hi.substring(0, hi.length()-2); 
     jTree2.setModel(new FileSystemModel(new File(sb))); 
    } 
} 
catch(Exception ae) { 
    System.out.println("ERROR3"); 
} 
jScrollPane3.setViewportView(jTree2); 

Und das Ergebnis, das ich bekommen, ist dies:

enter image description here

Jede Datenbank von einem „“ gesplittet, aber ich möchte, dass sie auf einem einzigen Knoten sein für jeden. Irgendeine Hilfe?

Antwort

0

Dies sollte es für Sie tun:

DefaultMutableTreeNode parent = new DefaultMutableTreeNode("Databases", true); 
while (rs1.next()) { 

      for (int i = 1; i <= columnCount; i++) { 
       DefaultMutableTreeNode node = new DefaultMutableTreeNode(rs1.getString(i), true); 
       parent.add(node); 
      } 
      jTree2.setModel(new DefaultTreeModel(parent)); 
     }