他のstackoverflowの問題でこのエラーが発生しましたが、基本的には私のコードと同じです。java.sql.SQLException:パラメータ1のエラーに値が指定されていません
ps.setInt(1,id);//set param
ResultSet rs= ps.executeQuery();//then execute your statement
他のstackoverflowの問題でこのエラーが発生しましたが、基本的には私のコードと同じです。java.sql.SQLException:パラメータ1のエラーに値が指定されていません
ps.setInt(1,id);//set param
ResultSet rs= ps.executeQuery();//then execute your statement
はあなたStetementを実行します。
PreparedStatement ps = cnx.getConnection().prepareStatement(req);
ps.setInt(1,id);
ResultSet rs = ps.executeQuery();
あなたが代わりにその前に、クエリを実行した後にバインド値を設定しようとしている:あなたはParamettresを設定した後、あなたがすべき
public List<ProjectUser> findProjectUserId(int id){
List <ProjectUser> users= new ArrayList<>();
ProjectUser projectuser= null;
try {
String req="select * from projectuser where project=?";
PreparedStatement ps= cnx.getConnection().prepareStatement(req);
ResultSet rs= ps.executeQuery();
ps.setInt(1,id);
while (rs.next()){
projectuser= new ProjectUser(rs.getInt(1), rs.getInt(2), rs.getInt(3));
users.add(projectuser);
}
} catch (SQLException ex){
ex.printStackTrace();
}
return users;
}
PreparedStatementのパラメータを設定する前にクエリを実行しています。だから、あなたのコードがExceptionを与えているのです。ステートメントの順番は
ps.setInt(1,id);
ResultSet rs= ps.executeQuery();
ありがとうございます。眠っている問題のすべてがありがとう:) –