ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Exception in thread "main" java.sql.SQLException: 마지막 행 다음의 결과 집합
    JDBC 2022. 1. 30. 23:11

    **유튜브 뉴렉쳐님의 강의를 들으면서 공부하고 정리한 내용입니다.

     

     

    가져오고자 하는 데이터가 잘 가져와졌는지 확인 하려고 했더니 에러가 발생하였다.

     

    마지막행의 다음이라고 하는 것은 next로 호출 할 상황이 아니라는 것이다. 데이터가 없다는 것이다. 

     

    rs.next에 마우스를 가져다대보면 next를 가져왔을때 true 아닐 경우 false를 가져올 수 있다고 뜨는데 

    에러가 발생하지 않기 위해서는 데이터를 가져온게 없을 경우에는

    		String url = "jdbc:oracle:thin:@localhost:1521/xepdb1";
    		String sql = "SELECT * FROM NOTICE";
    		
    		Class.forName("oracle.jdbc.driver.OracleDriver");
    		Connection con = DriverManager.getConnection(url,"sys as sysdba", "Ew170916!!");
    		Statement st = con. createStatement();
    		ResultSet rs = st.executeQuery(sql);
    		
    		rs.next();  //다음으로 넘어가기
    		String title = rs.getString("TITLE"); //title이라는 컬럼명을 조회
    		System.out.println(title); //제대로 가져와지는지 출력문으로 확인해보기 
    		
    		rs.close();
    		st.close();
    		con.close();

    기존에 이 코드에서 if문을 추가 해 준다.

    		String url = "jdbc:oracle:thin:@localhost:1521/xepdb1";
    		String sql = "SELECT * FROM NOTICE";
    		
    		Class.forName("oracle.jdbc.driver.OracleDriver");
    		Connection con = DriverManager.getConnection(url,"sys as sysdba", "Ew170916!!");
    		Statement st = con. createStatement();
    		ResultSet rs = st.executeQuery(sql);
    		
    		if(rs.next()) { //다음으로 넘어가기
    		String title = rs.getString("TITLE"); //title이라는 컬럼명을 조회
    		System.out.println(title); //제대로 가져와지는지 출력문으로 확인해보기 
    		}
    		rs.close();
    		st.close();
    		con.close();

    실행 해 보면 

    아무것도 뜨지 않는다. 당연함. 데이터가 없기 때문이다.

    데이터를 넣어보자 

    CREATE TABLE NOTICE
    (
    ID NUMBER
    ,TITLE NVARCHAR2(100)
    ,WRITER_ID NVARCHAR2(50)
    ,CONTENT CLOB
    ,REGDATE TIMESTAMP
    ,HIT NUMBER
    ,FILES NVARCHAR2(1000)
    );

    아까 이 순서대로 테이블을 작성 해 주었는데 데이터를 넣을때도 이 순서에 맞게 넣어줘야 한다.

    커밋까지 꼭 해줘야한다.

     

    그럼 다시 이클립스로 넘어와서 실행을 해 보자 

    우리가 입력한 제목이 잘 뜨는 것을 확인 할 수 있다.

    'JDBC' 카테고리의 다른 글

    레코드의 모든 컬럼 출력하기  (0) 2022.01.31
    쿼리 실행해보기  (0) 2022.01.30
    JDBC 기본코드  (0) 2022.01.26
    JDBC Driver 준비하기  (0) 2022.01.26
    JDBC란?  (0) 2022.01.26
Designed by Tistory.