Frog is cry
Leture12_ResultSet 본문
java.sql.ResultSet
> SELECT 등의 조회 쿼리문을 실행한 후 돌아오는 조회 값을 포함하는 클래스
ResultSet의 구조
> 결과로 가져온 데이터는 Table형태와 흡사
> ResultSet의 next()를 사용하여 값이 있는지 없는지 확인
> next()실행 후, get...() 메소드를 사용하여 값을 얻어옴
> 여러 행이 있을 경우 반복문을 사용
package jdk.pratice.basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Test07 {
public static void main(String[] args) {
String user = "myJsp";
String password = "jsppassword";
String url = "jdbc:oracle:thin:@localhost:1521:xe";
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 커넥션 준비
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection(url, user, password);
String sql = "SELECT st_name, st_avg FROM student";
ps = con.prepareStatement(sql);
rs = ps.executeQuery(); // 값을 보기위해 rs에 담음
// boolean result = rs.next(); // 레코드가 1개라도 있으면 true / 없으면 false
// 레코드를 확인하기 위해서는 최소 1회 next() 실행해야 함
// 실행하지 않은 초기 커서는 아무것도 가리키지 않기 때문이다.
String name;
double avg;
while(rs.next()) { // 레코드가 남아있을 동안 반복하라!
name = rs.getString("st_name"); //getString : String타입에 값을 얻어오겠다.
// 현재 위치 레코드의 st_nameg 항목의 값을 String 형태로 갖다줘!
avg = rs.getDouble("st_avg");
//(String) : 항목이름
//(int) : 몇번째 항목(<= 항목 이름을 모를때 사용)
// 현재 위치 레코드의 st_avg 항목의 값을 Double 형태로 갖다줘!
System.out.println(name + " / " + avg + "점");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(ps != null) {ps.close();}
if(con != null) {con.close();}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
'JSP > 실습' 카테고리의 다른 글
Leture15_HTML 소개와 주요기능 (0) | 2020.08.06 |
---|---|
Leture13_Practice (0) | 2020.08.05 |
Leture11_PreparedStatement (0) | 2020.08.05 |
Lecture10_Practice (0) | 2020.08.04 |
Lecture09_Connection 연동 (0) | 2020.08.04 |
Comments