package ch22;
import java.sql.*;
import com.sun.org.apache.xalan.internal.xsltc.compiler.util.ResultTreeType;
public class Ch2203
{
public static void main(String[] args)
{
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
String id = "admin2";
/*
* select문을 사용할 경우 ResultSet개체를 두어야 하며,
* 사용하는 메서드는 executeQuery()를 사용한다.
*/
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
String oUrl = "jdbc:oracle:thin:@localhost:1521:ORCL";
conn = DriverManager.getConnection(oUrl, "jsp", "jsp");
oUrl="";
//String sql = "select * from admin";
String sql = "select id as i, name as na, email, pwd from admin where id=?";
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, id);
//select문을 사요6ㅇ할 경우 executeQuery()를 사용하며
//반드시 ResultSet 개체로 반환받아야 한다.
rs = pstmt.executeQuery();
//처음 레코드로 이동해야 컬럼을 ㅇ릭어들일수 있다.
//re.next()는 다음요소로 이동할수 있으면 참을 반환하고
//이동할수 없으면 거짓을 반환한다.
while(rs.next())
{
//rs.getString("컬럼명")의 경우
//컬럼의 값이 문자열일 경우 문자열로
//읽어들여 반환한다.
/*String id=rs.getString("id");
String name=rs.getString("name");*/
id=rs.getString("i");
String name=rs.getString("na");
String email=rs.getString("email");
String pwd=rs.getString("pwd");
/*System.out.println("id : "+id);
System.out.println("name : "+name);*/
System.out.println("i : "+id);
System.out.println("na : "+name);
System.out.println("email : "+email);
System.out.println("pwd : "+pwd);
}
sql="select count(*) from admin";
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
rs.next();
//위의 SQL처럼 컬럼이름이 없는 경우에는 컬럼번호로 지정가능
//ASP에서는 인덱스 0, JSP에서는 1.
int count = rs.getInt(1);
System.out.println("총갯수 : "+count);
}
catch (ClassNotFoundException e)
{
// TODO 자동 생성된 catch 블록
e.printStackTrace();
}
catch (SQLException e)
{
// TODO 자동 생성된 catch 블록
e.printStackTrace();
}
finally
{
try
{
rs.close();
pstmt.close();
conn.close();
}
catch (SQLException e)
{
// TODO 자동 생성된 catch 블록
e.printStackTrace();
}
}
}
}