2017-04-01 42 views

答えて

1

はあなたStetementを実行します。

PreparedStatement ps = cnx.getConnection().prepareStatement(req); 
ps.setInt(1,id); 
ResultSet rs = ps.executeQuery(); 
0

あなたが代わりにその前に、クエリを実行した後にバインド値を設定しようとしている:あなたは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; 
} 
+0

ありがとうございます。眠っている問題のすべてがありがとう:) –

0

PreparedStatementのパラメータを設定する前にクエリを実行しています。だから、あなたのコードがExceptionを与えているのです。ステートメントの順番は

ps.setInt(1,id); 
ResultSet rs= ps.executeQuery(); 
関連する問題