基本的JDBC选择有效,当我切换到准备好的语句时它不起作用

时间:2019-06-11 12:51:26

标签: java oracle jdbc

我正在使用Java 8和oracle。

我已确认此代码有效:

Statement stmt = null;

String query = "select * from custref";

stmt  = con.createStatement();

ResultSet rs = stmt.executeQuery(query);
    while (rs.next()) {
         String cName = rs.getString("CUSTOMER_NAME");
         System.out.println(cName);
    }

当我将其更改为此时,它不会产生任何结果:

PreparedStatement prepStmt = null;

String query = "select * from custref where CUSTOMER_NUMBER = ?";

prepStmt  = con.prepareStatement(query);
prepStmt.setString(1, "12344321");

ResultSet rs = prepStmt.executeQuery();
while (rs.next()) {
    String cName = rs.getString("CUSTOMER_NAME");

    System.out.println(cName);
}

我已经确认我的数据类型是VARCHAR,因此是设置的字符串。我知道我的连接很好,因为基本搜索仅在我切换到参数化时起作用,它不会失败或引发异常,而它没有结果集。我也尝试了:customerNumber约定而不是?而且这也不起作用。这真是令人尴尬,但我在这里已尽头,似乎找不到任何解决的办法。

0 个答案:

没有答案