¼Ò¼³°°Àº ÀÚ¹Ù 4ºÎ  Á¦19Àå µ¥ÀÌÅͺ£À̽º  19.10 ResultSet  

 

19.10 ResultSet

 

ResultSetÀº StatementÀÎÅÍÆäÀ̽ºÀÇ executeQuery()¸Þ¼­µå°¡ ¹ÝȯÇÏ´Â °á°ú·Î ¾òÀº µ¥ÀÌÅ͸¦ ÀúÀåÇØ ³õÀº °ÍÀÔ´Ï´Ù. À̰ÍÀº ¸ðµç °á°ú¸¦ °¡Áö°í ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó ´Ù¸¸ ÇöÀç ó¸®ÇÒ µ¥ÀÌÅ͸¸À» °¡¸£Ä¡´Â Ä¿¼­¸¦ °ü¸®ÇÕ´Ï´Ù. µû¶ó¼­ ResultSet °á°ú¸¦ ¾òÀ» ¶§´Â, next()¸Þ¼­µå(´ÙÀ½ÀÇ °ªÀÌ ÀÖÀ¸¸é ÂüÀ» ¹ÝȯÇÑ´Ù)¸¦ ÀÌ¿ëÇØ¼­ while¹®À» µ¹¸®´Â °ÍÀÌ ÀϹÝÀû ÀÔ´Ï´Ù.

 

±×¸®°í, °á°ú °ªÀ» ¹ÞÀ» ¶§´Â µ¥ÀÌÅÍ Å¸ÀÔÀ» ¸ÂÃß¾î ÁÖ¾î¾ß ÇÕ´Ï´Ù. ÀÌÀ¯´Â ResultSetÀÌ °¡Áö°í ÀÖ´Â µ¥ÀÌÅÍ´Â SQLÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ» °¡Áö±â ¶§¹®¿¡ °á±¹Àº ÀÚ¹Ù¿¡¼­ »ç¿ëÇÏ´Â µ¥ÀÌÅÍ Å¸ÀÔÀ¸·Î º¯ÇüµÇ¾î¾ß ÇÑ´Ù´Â °ÍÀÔ´Ï´Ù.

 

 ´ÙÀ½Àº ResultSetÀ» ÀÌ¿ëÇØ, MS-SQLÀÇ ±âº» µ¥ÀÌÅͺ£À̽ºÀÎ NorthwindÀÇ Products Å×ÀÌºí¿¡¼­ ProductID¿Í ProductNameÀ» ±¸ÇØ¿À´Â ¿¹Á¦ÀÔ´Ï´Ù.

 

ResultSetTest.java(ResultSetÀÎÅÍÆäÀ̽ºÀÇ °´Ã¼¸¦ »ý¼ºÇØ °á°ú°ªÀ» ¾ò¾î¿À´Â ¿¹Á¦)

import java.sql.*;

public class ResultSetTest {

   public static void main(String[] args) {

       Connection con = null;

       Statement stmt = null;

       ResultSet rs = null;

       String url = "sun.jdbc.odbc.JdbcOdbcDriver";

     String dsn = "jdbc:odbc:jabook";

       String id = "jabook";

       String password = "password";

       String sql = null;

       try{

          Class.forName(url);

          con = DriverManager.getConnection(dsn, id, password);

          stmt = con.createStatement();

          sql = "select ProductID, ProductName from Products where CategoryID = 2 ";

        rs = stmt.executeQuery(sql);

          System.out.println("ResultSetÀÎÅÍÆäÀ̽ºÀÇ °´Ã¼ rs »ý¼º" + "\n");

          System.out.println("* »óǰID *" +"\t"+ "    * »óǰ¸í *     ");               

        while(rs.next()){

             System.out.println("  " + rs.getInt("ProductID") + "\t    " + rs.getString("ProductName"));

        }

          rs.close();

          stmt.close();

          con.close();

       }catch(Exception e) {System.out.println(e);}

   }

}

C:\JavaExample\19>javac ResultSetTest.java

C:\JavaExample\19>java ResultSetTest

ResultSetÀÎÅÍÆäÀ̽ºÀÇ °´Ã¼ rs »ý¼º

 

* »óǰID *          * »óǰ¸í *

  3         Aniseed Syrup

  4         Chef Anton's Cajun Seasoning

  5         Chef Anton's Gumbo Mix

  6         Grandma's Boysenberry Spread

  8         Northwoods Cranberry Sauce

  15        Genen Shouyu

  44        Gula Malacca

  61        Sirop d'erable

  63        Vegie-spread

  65        Louisiana Fiery Hot Pepper Sauce

  66        Louisiana Hot Spiced Okra

  77        Original Frankfurter grune So©¬e

 

°á°ú¸¦ º¸½Ã¸é »óǰID¿Í »óǰ¸íÀ̶õ Á¦¸ñÀ¸·Î MS-SQLÀÇ ±âº» ½Ç½À µ¥ÀÌÅͺ£À̽ºÀÎ NorthwindÀÇ ProductsÅ×ÀÌºí¿¡¼­ µ¥ÀÌÅ͸¦ ºÒ·¯¿Í Ãâ·ÂÇÏ¿´À½À» ¾Ë ¼ö ÀÖ½À´Ï´Ù. Northwind Database¸¦ »ç¿ëÇϱâ À§ÇÏ¿© ¡®jabook¡¯ À̶ó´Â »õ·Î¿î DSNÀ» ¸¸µé¾ú½À´Ï´Ù. Àͼ÷ÇÏÁö ¾ÊÀ¸½Å ºÐÀº Àü¿¡ ±×¸²À¸·Î ¼³¸í µå¸° ºÎºÐÀ» ±×´ë·Î µû¶ó ÇÏ½ÃµÇ DSNÀ̸§À» ¹Ù²Ù°í, µ¥ÀÌÅͺ£À̽º À̸§À» Northwind·Î ¹Ù²ãÁÖ¸é µÇ°ÚÁÒ? ±×¸®°í SQLServer¿¡ »õ·Î¿î »ç¿ëÀÚÀÇ id¿Í password¸¦ ¡®jabook¡¯°ú ¡®password¡¯·Î µî·ÏÇØ ÁÖ½Ã¸é µË´Ï´Ù.

 

n        String dsn = "jdbc:odbc:jabook";

n        String id = "jabook";

n        String password = "password";

 

DB¿¡ ÁúÀÇÇÒ sql¹®À» ÀÛ¼ºÇÑ ´ÙÀ½, stmt.executeQuery(sql)·Î ¹Þ¾Æ¿Â °á°ú¸¦ ResultSet°´Ã¼ rs¿¡ ÀúÀåÇÕ´Ï´Ù.

 

n        ResultSet rs = null;

n        sql = "select ProductID, ProductName from Products where CategoryID = 2 ";

n        rs = stmt.executeQuery(sql);

 

rs¿¡ ÀúÀåµÈ ·¹ÄÚµåÀÇ °ªÀ» Ãâ·ÂÇϱâ À§Çؼ­ while¹®À¸·Î µ¹·ÁÁÝ´Ï´Ù. À§¿¡¼­µµ ¸»ÇßµíÀÌ ÇöÀç ó¸®ÇÒ µ¥ÀÌÅÍÀÇ Ä¿¼­¸¸ °ü¸®ÇÏ´Â °ÍÀ̹ǷΠÀÌ·¸°Ô while¹®À¸·Î µ¹·Á¼­ °ªÀ» ¾ò¾î¾ß ÇÏ´Â °ÍÀÔ´Ï´Ù.

 

n        while(rs.next()){

n           System.out.println("  " + rs.getInt("ProductID") + "\t    " + rs.getString("ProductName"));

n        }

 

 ResultSetÀº ¸»¶æ ±×´ë·Î Database¿¡ ÁúÀǸ¦ ³¯·Á ¹Þ¾Æ¿Â °á°ú¸¦ ÀúÀåÇÏ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. ±×¸®°í ¶ÇÇÑ ÁÖÀÇÇÒ Á¡Àº ResultSetÀÇ Ä¿¼­´Â Ç×»ó ù¹øÂ° ·¹Äڵ庸´Ù ¹Ù·Î ÀÌÀüÀ» °¡¸®Å°°í Àֱ⠶§¹®¿¡, µ¥ÀÌÅ͸¦ ²¨³»±â À§Çؼ­ À§¿Í °°ÀÌ next()¸Þ¼­µå¸¦ ¾²´Â °ÍÀÔ´Ï´Ù. µû¶ó¼­ ¹Þ¾Æ¿Ã °á°ú°¡ ´ÜÁö Çϳª¶ó ÇÏ´õ¶óµµ ÀÌ next()¸Þ¼­µå¸¦ ½á¼­ °ªÀ» ¹Þ¾Æ¾ß ÇÏ´Â °ÍÀÔ´Ï´Ù.

 

 

¢Ñ ResultSet

Query¸¦ ¼öÇàÇØ ¾òÀº °á°úÀÇ µ¥ÀÌÅ͸¦ ¹Þ¾Æ ÀúÀåÇØ ³õÀº °Í

°ªÀ» ¾ò±â À§ÇÏ¿© next()¸Þ¼­µå »ç¿ë

 

ResultSetÀÎÅÍÆäÀ̽º ÁÖ¿ä ¸Þ¼­µå

public boolean next() throws SQLException : ºÒ·¯¿Â ·¹Äڵ忡¼­ ´ÙÀ½ °ªÀÇ À¯¹«¸¦ ¹ÝȯÇÕ´Ï´Ù.

public String getString(String columnName) throws SQLException : ¹Þ¾Æ¿Â ·¹ÄÚµå Ä÷³ÀÇ µ¥ÀÌÅ͸¦ StringÇüÀ¸·Î ¹ÝȯÇÕ´Ï´Ù.

public boolean getBoolean(String columnName) throws SQLException : ¹Þ¾Æ¿Â ·¹ÄÚµå Ä÷³ÀÇ µ¥ÀÌÅ͸¦ booleanÇüÀ¸·Î ¹ÝȯÇÕ´Ï´Ù.

public int getInt(String columnName) throws SQLException : ¹Þ¾Æ¿Â ·¹ÄÚµå Ä÷³ÀÇ µ¥ÀÌÅ͸¦ booleanÇüÀ¸·Î ¹ÝȯÇÕ´Ï´Ù.

public float getFloat(String columnName) throws SQLException : ¹Þ¾Æ¿Â ·¹ÄÚµå Ä÷³ÀÇ µ¥ÀÌÅ͸¦ floatÇüÀ¸·Î ¹ÝȯÇÕ´Ï´Ù.

 

  *À§ÀÇ String columnName¸Å°³º¯¼ö´Â ¸ðµÎ Ä÷³ÀÇ À妽º¸¦ Âü°íÇÏ´Â int columnIndex·Î ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù4ºÎ
ÀúÀÚ:ÃÖ¿µ°ü