[이클립스]illegal operation on empty result set mysql 해결방법
web/오류정리2017. 11. 20. 17:31
오늘 만났던 에러는 바로
illegal operation on empty result set mysql
상황은 이러했다.
포문을 돌면서, 조회했던 정보를 예쁘게 잘 INSERT 구문을 만들어서
SQL문을 실행해주려고 했던 것이었음.
sql = "select dispNo, dispNm, parentDispNo from tbl_mst_api_category_temp where market_code='1111' and dispNo ='"+forwardDispNo+"' "; //1건 조회stmt=conn.prepareStatement(sql);
rs1=stmt.executeQuery();
이렇게 결과값을 rs1에 담고,
rs1.next();
를 위처럼 찍은 다음...
sql = "insert tbl2 values (rs1.getString('aaa'),rs1.getString('bbb'),rs1.getInt('ccc'))";
위처럼.. sql문을 작성한 다음 실행 했더니 만났던 에러였다.
illegal operation on empty result set mysql
요놈 참 깨름찍한 용어다.
즉 mysql에서 빈결과( empty result set ) 를 돌려받는 것에 대한 불법적인 작용 정도로 인식하면 될것이다. .. . . ..
empty result set 에 집중해서 생각해보니까,
결국에, 조회했던 sql문인
sql = "select dispNo, dispNm, parentDispNo from tbl_mst_api_category_temp where market_code='1111' and dispNo ='"+forwardDispNo+"' "; //1건 조회stmt
이것에서 조회되는 값이 없다는 의미였다 ㅠㅠ
조회하는 값이 없어서 문제였던 것이 아니라,
그 조회한 값이 마치 있다고 가정하고 내가 코딩을 했던 것이다.
그래서 boolean값을 리턴하는 rs1.next로 실행하고자 하는 부분을 이프문으로 쌌더니, 자알 된다^^
if(rs1.next()){
forwardDispNo = rs1.getString("parentDispNo");
if(i==tempDepth -1){
tempPrefix="";
}else{
tempPrefix=" , ";
}
tempStr += tempPrefix +" cate_code_" + i + "=" + rs1.getString("dispNo") ;
tempStr +=" , cate_name_" + i + "='" + rs1.getString("dispNm")+"'";
}
'web > 오류정리' 카테고리의 다른 글
column 'fial_cnt' not found (0) | 2017.12.08 |
---|---|
Before start of result set 에러 (0) | 2017.11.28 |
input disabled css ie8 (0) | 2017.06.01 |
인스타그램 샌드박스 모드 -웹사이트 연동 (0) | 2017.05.29 |
Uncaught RangeError: Maximum call stack size exceeded (0) | 2017.04.04 |