【问题标题】:Java setString() can not find the?Java setString() 找不到?
【发布时间】:2017-05-20 10:36:26
【问题描述】:

我对编程很陌生,但我正在为后台应用程序制作屏幕。此应用程序的目标是您可以选择车站名称,当您按检查状态时,将显示该车站上储物柜的所有状态。但是我遇到的问题是 setString 出于某种奇怪的原因无法正常工作。我几乎尝试了所有方法,我也问过很多人是否能找到问题,即使是那些以 Java 为工作的人,但即使他们也找不到。

我在这里唯一能看到的是 ?无法识别。

我首先尝试将 Amersfoort 直接连接到 sql 代码中,并且成功了。

经过一些测试,我尝试使用没有连接的普通查询,但它不起作用。

之后,我尝试在其余代码中查找可能的错误,但找不到任何错误。

所以我的问题是我在这里做错了什么?

(小免责声明我尝试的不止于此,但我认为这无关紧要)

关于输出画面的一点说明:

Akkrum 是我在测试期间选择的,但无关紧要,因为目前我没有使用它。

代码:

public void fetch() {

    try {
        databaseConnection();
        String select = stationSelect.getSelectedItem().toString();
        System.out.println(select);

        String sql = "SELECT l.id, s.station_id, locker_number, locker_code, occupied FROM lockers l JOIN stations s ON l.station_id = s.id WHERE name = ?"; 
        System.out.println(1+ ": "+ sql);

        pstmt  = connection.prepareStatement(sql);
        pstmt.setString(1, "Amersfoort");
        System.out.println(2+ ": " + sql);

        resultSet = pstmt.executeQuery(sql);
        System.out.println(3 + ": " + sql);

        Table.setModel(DbUtils.resultSetToTableModel(resultSet));

    } catch (Exception e) {
        System.out.println(e);
        JOptionPane.showMessageDialog(null, e);
    }
}

输出:

阿克鲁姆

  1. SELECT l.id, s.station_id, locker_number, locker_code, 从储物柜占用 l JOIN station s ON l.station_id = s.id WHERE name = ?

  2. SELECT l.id, s.station_id, locker_number, locker_code, 从储物柜占用 l JOIN station s ON l.station_id = s.id WHERE name = ?

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 你的 SQL 语法有错误;检查对应的手册 您的 MySQL 服务器版本,以便在“?”附近使用正确的语法在线 1

【问题讨论】:

    标签: java sql jtable jcombobox setstring


    【解决方案1】:
    resultSet = pstmt.executeQuery(sql);
    

    错误就在那里。 executeQuery(String) 接受原始 SQL 查询并执行它。相反,你想执行准备好的查询,所以你只需要调用:

    resultSet = pstmt.executeQuery();
    

    【讨论】:

    • 呵呵呵呵,我应该自己解决这个问题。我应该删除这个帖子吗?也感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多