ResultSet节点的问题

时间:2016-04-15 22:51:56

标签: java resultset jtree

快速提问......

我正在尝试创建一个动态JTree,但我无法将每个数据库放入一个节点中。到目前为止,这是我的代码:

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);

我得到的结果是:

enter image description here

每个数据库都被“,”分开,但我希望它们在每个数据库的单个节点上。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

这应该适合你:

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));
        }