【发布时间】:2025-12-18 08:10:02
【问题描述】:
我正在 MySQL 数据库上创建类别表。我需要列出所有需要在JTree 上查看的类别,但它没有加载。到目前为止我在下面写的代码。
分类表
+------------+
|id | catname|
+------------+
|1 | book |
|2 | drink |
|3 | cake |
+------------+
public void LoadtTree()
{
try {
pst = con.prepareStatement("select * from category");
rs = pst.executeQuery();
DefaultMutableTreeNode categories = new DefaultMutableTreeNode("Categories");
String currentGroup = null;
while (rs.next()) {
String group = rs.getString("catname");
DefaultMutableTreeNode categorynames= new DefaultMutableTreeNode(rs.getString("catname"));
categories.add(categorynames);
}
}catch(Exception ex){ex.getMessage();}
}
加载表单时,它仅显示默认节点。如何将数据库值加载到此节点?
连接
Connection con;
PreparedStatement pst;
ResultSet rs;
public void Connect()
{
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/emk", "root","");
} catch (ClassNotFoundException ex) {
Logger.getLogger(fo.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(fo.class.getName()).log(Level.SEVERE, null, ex);
}
}
【问题讨论】:
-
您发布的代码对我来说似乎没问题,但似乎
DefaultMutableTreeNode categories从未添加到用户界面中。你能发布完整的控制器类代码吗?或者通过LoadTree()方法调试,查看是否添加了数据库中的类别。 -
你能写代码吗先生。这不是 mvc 先生。只是核心java
-
1) 将
}catch(Exception ex){ex.getMessage();}更改为}catch(Exception ex){ex.printStackTrace();}。这将有助于解决问题。如果不是现在,那么在未来。 2) 为了尽快获得更好的帮助,edit 添加minimal reproducible example 或Short, Self Contained, Correct Example。替换数据库的硬编码数据。