エラー:No value specified for parameter 3の解決方法
3715 ワード
No value specified for parameter 3
JDBCでデータベースに接続して対応する操作を行う時、以下のエラーを報告して、原因を探していくつかの点を発見して、あなた達の問題を解決することができることを望みます sql文のプレースホルダは、後で設定するプレースホルダの値の数と一致しない
他に間違いはありませんが、プレースホルダの数が手に1つ足りないということです.プレースホルダが多くなったり少なくなったりすると、このような問題が発生します. sql文のプレースホルダ付与時にシーケンス番号が 反復する.
設定したシーケンス番号が重複していますが、一般的にはこのような問題はありませんが、似たような文があるのが好きでコピーして貼り付けていますが、シーケンス番号を変更するのを忘れています.しかも、まだチェックされていません.
皆さんの役に立つことを願っています.
JDBCでデータベースに接続して対応する操作を行う時、以下のエラーを報告して、原因を探していくつかの点を発見して、あなた達の問題を解決することができることを望みます
PreparedStatement pst=gxmconn.prepareStatement("insert into messages(myId,friendId,friendName,message) values(?,?,?,?,?)");//
pst.setInt(1, myId);
pst.setInt(2, friendId);
pst.setString(3, friendName);
pst.setString(4, message);
他に間違いはありませんが、プレースホルダの数が手に1つ足りないということです.プレースホルダが多くなったり少なくなったりすると、このような問題が発生します.
PreparedStatement pst=gxmconn.prepareStatement("insert into messages(myId,friendId,friendName,message) values(?,?,?,?)");
pst.setInt(1, myId);
pst.setInt(2, friendId);
pst.setString(2, friendName);//
pst.setString(4, message);
設定したシーケンス番号が重複していますが、一般的にはこのような問題はありませんが、似たような文があるのが好きでコピーして貼り付けていますが、シーケンス番号を変更するのを忘れています.しかも、まだチェックされていません.
皆さんの役に立つことを願っています.