0

我正在尝试从我的数据库中查找项目列表,但它会引发异常。我的代码和错误如下,所有字段类型都是正确的。

代码

     System.out.println("2");
      try {
           ps = con.prepareStatement("SELECT * from Users Where name = ?);"

        ResultSet r = ps.executeQuery();
        ps.setString(1, "jack");
        ResultSet result = ps.executeQuery();
        ....
        } catch (SQLException e) {
            System.err.println(e.getMessage());
            System.out.println(e.getStackTrace());
        }

输出

INFO: 2
SEVERE: No value specified for parameter 1
INFO: [Ljava.lang.StackTraceElement;@6520c5b
4

1 回答 1

2

ResultSet r = ps.executeQuery();在设置参数之前调用PreparedStatement. 编码此方法时可能是一个错字,因为您在下面有类似的行设置您的PreparedStatement.

ps = con.prepareStatement(...);
//comment this line
// ResultSet r = ps.executeQuery();
ps.setString(1, "1");
//...
ResultSet result = ps.executeQuery();

与您的问题没有直接关系,如果您System.out.println在代码中使用记录器而不是普通调用会更好。它将通过向日志提供更好的消息来帮助您维护代码。

于 2013-05-21T03:49:58.190 回答