java프로그램에서 like문을 사용하면 아래와 같은 오류메세지가 나옵니다.
query = "select * from t_addr where t_name like ? ;";
stmt = conn.createStatement();
pstmt = conn.prepareStatement(query);
String in_d = jtf_name.getText();
in_d = in_d+"%";
pstmt.setString(1, in_d);
ResultSet rs = stmt.executeQuery(query);
오류메세지 : Attempt to execute the query when not all the parameters are binded
사용 방법을 알려 주세요...
답변이 늦어 죄송합니다.
먼저 알려주신 오류메시지는 바인딩되어야 될 패러미터의 갯수가 맞지 않기 때문에 발생한 내용입니다.
즉, select * from athlete where name like ? and name = ? 와 같은 쿼리에서 바인딩을 2개가 아닌 1개를 하였을 경우에 발생합니다.
like문 사용방법에는 문제가 없으며 제가 테스트한 소스를 수행해보시면 어떤 문제인지 알 수 있을 것이라 생각됩니다.
sql = "select * from athlete where name like ?;" /*+ " and name = ?;"*/; //주석을 제거하면 에러메시지 발생.
pstmt = conn.prepareStatement(sql);
String in_d = "Fer";
in_d = in_d+"%";
pstmt.setString(1, in_d);
rs = pstmt.executeQuery();
확인을 해보시고 문제가 계속 발생되신다면 댓글 부탁드립니다.