상세 컨텐츠

본문 제목

java로 DB 검색 후 값이 없을때

프로그래밍/JAVA

by RosetteNebula 2021. 1. 27. 16:21

본문

https://crescentm.tistory.com/406

위 내용 필수 확인

 

ResultSet rs = stmt.executeQuery("select * from student");로

student테이블의 값을 검색했는데 테이블에 데이터가 없을 경우

rs를 사용하면 Illegal operation on empty result set. 에러가 발생합니다

 

rs.getString("name").equals(name)를 하면 찾는 이름이 없는데 비교를 하기에

오류가 생깁니다

 

해결 방법은

결과 값이 없을 때 rs.next()의 값은 false가 되므로

예를 들면 if(rs.next())라고 하면 검색한 DB값이 있을 경우만 참으로 동작하고

if(!rs.next())라고 하면 검색한 DB값이 없을 경우만 참으로 동작합니다

 

 

rs = stmt.executeQuery("select * from student where name = '" + name + "'");
		
//DB에 삭제할 값이 존재할 경우
if (rs.next()) {
	stmt.executeUpdate("delete from student where name = '" + name + "'");
} else {
	System.out.println("삭제할 학생의 정보가 없습니다.");
}

관련글 더보기