java - JTree数据库节点选择并显示在java中的文本字段中

标签 java jdbc

我有一个 JTree ,其中填充了数据库中的任务列表,我正在尝试创建一个鼠标单击监听器,以便在单击节点时,id 和任务将显示到 JTextfields 中,

下面是我的代码

private void jTree1MouseClicked(java.awt.event.MouseEvent evt) {
    DefaultMutableTreeNode node = (DefaultMutableTreeNode) jTree1.getLastSelectedPathComponent();
    Object nodeInfo = node.getUserObject();

    try {
        String query = "select * from Task where task=" + nodeInfo + "";
        pst = con.prepareStatement(query);
        rs = pst.executeQuery();
        if (rs.next()) {
            int id = rs.getInt("id");
            String task = rs.getString("task");
            parentIdTxt.setText("" + id);
            childTxt.setText("" + task);
        }
    } catch (Exception e) {

    }
}

我的问题是,即使我的程序运行没有任何问题,但每当我单击该节点时,什么也没有发生?任何帮助指出我错过的内容将不胜感激

最佳答案

事实上,您收到错误,但您看不到它,因为您没有打印它,您可以使用以下命令检查错误:

} catch (Exception e) {
    e.printStackTrace();
}

字符串应该在'nodeinfo'之间,所以你必须使用:

String query="select * from Task where task= '" + nodeInfo + "'";

但是你没有正确实现PreparedStatement,你可以使用这个:

String query="select * from Task where task = ?";
insert.setString(1, nodeinfo);
rs = pst.executeQuery();
...

关于java - JTree数据库节点选择并显示在java中的文本字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43390761/

相关文章:

java - 记录需要 ASM8

java - 创建一个简单、简单的游戏引擎

java - 数据库 | MySQL 和 Java 中的日期时间

java - 连接池泄漏原因

java - 优化大表上的 MySQL 查询

javascript - HtmlUnit net.sourceforge.htmlunit.corejs.javascript.EcmaError : TypeError: Cannot read property "GetLoginJsonInfo" from undefined

Java接口(interface)继承导致IDE困惑

Java 将另一个类中的数组列表放入 JList 中

java - 我如何使用@从mysql到java(jdbc)

java - DriverManager如何获取jdbc驱动类的实例