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 に答える