* ȸ¿ø°¡ÀÔ * ¾ÆÀ̵ð/ºñ¹Ð¹øÈ£ ã±â   ID PW
Last Modified : 2008.05.02

¸íÇÔ°ü¸®

¸íÇÔ°ü¸® Å×À̺í

namecard.sql

create table namecard (
	num	number,			-- ÀÚµ¿À¸·Î ¸Å±æ ¼ø¹ø(primary key)
	name	varchar2(10) NOT NULL,	-- À̸§
	company	varchar2(20),		-- ȸ»ç¸í
	title	varchar2(30),		-- Á÷ÇÔ (¿¹¸¦ µé¸é, °³¹ßºÎ °úÀå) ºÎ¼­ + Á÷Ã¥
	ophone	varchar2(20),		-- »ç¹«½Ç ÀüÈ­(ext Æ÷ÇÔ)
	mphone	varchar2(20),		-- ¸ð¹ÙÀÏ ÀüÈ­
	url	varchar2(30),		-- À¥»çÀÌÆ® ÁÖ¼Ò
	email	varchar2(30),		-- À̸ÞÀÏ
	address	varchar2(60),		-- ȸ»çÁÖ¼Ò
	mdate	varchar2(10),		-- ¸¸³­ ³¯Â¥
	memo	varchar2(500),		-- °£´ÜÇÑ ¸Þ¸ð
	constraint namecard_num_pk primary key(num)
)
/

create sequence seq_namecard_num
start with 1
increment by 1
/

¿À¶óŬ ½ÃÄö½º »ç¿ë¹ý

insert into namecard values 
(
  seq_namecard_num.nextval,
  '±èÁ¾ÈÆ',
  'ÀÚ¹Ù½ºÄð',
  '´ëÇ¥',
  '031-333-3333',
  '019-777-7777',
  'www.java-school.net',
  'kimchonghun@naver.com',
  '°æ±âµµ ¼º³²½Ã ºÐ´ç±¸ ¼ö³»µ¿..',
  '2008/04/26',
  'ÀÚ¹Ù±âÃʰ­»ç'
);

¸íÇÔ°ü¸® Ŭ·¡½º ¼³°è

ÀÚ¹Ù½ºÄð »çÀÌÆ®ÀÇ Ä¿³Ø¼Ç Ç®°ú »ç¿ëÀÚ Á¤ÀÇ ·Î±× Ŭ·¡½º¸¦ »ç¿ëÇÒ ¶§ ÄÚµù Á¤Ã¥

// »ç¿ëÀÚ Á¤ÀÇ ·Î±× Ŭ·¡½º(Log.class)¿Í ÀÚ¹Ù½ºÄð Ä¿³Ø¼Ç Ç®¸µ ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇÏ´Â °æ¿ì

  // ¸Þ¼Òµå°¡ ½ÃÀÛÇÏ´Â À§Ä¡¿¡¼­ Log °´Ã¼ »ý¼º
  Log log = new Log();

  ..
  .. Áß°£ »ý·«..
  ..
  
  try {
    .. Áß°£ »ý·« ..
    
    SQL¹® ½ÇÇà
    
    .. Áß°£ »ý·« .. 
  
  /*
   * ÀͼÁ¼ÇÀÌ ¹ß»ýÇÒ ¶§ »ç¿ëÀÚ Á¤ÀÇ ·Î±× ÆÄÀÏÀ» ÀÌ¿ëÇÏ´Â ¹æ¹ý
  */ 	
  } catch ( SQLException e ) {
    log.debug( "Error :Ŭ·¡½º¸í.¸Þ¼Òµå¸í : SQLException" );
    log.debug( "SQLState : " + e.getSQLState() );
    log.debug( "Message : " + e.getMessage() );
    log.debug( "Oracle Error Code : " + e.getErrorCode() );
    log.debug( "Query : " + sql ); // SQL¹®ÀåÀ» Ãâ·Â
    
  /* 
  * finally ºí·Ï¿¡¼­ ÀÚ¹Ù½ºÄð Ä¿³Ø¼Ç Ç® ÀÌ¿ëÇÒ ¶§ ÀÚ¿ø¹Ý³³ÇÏ´Â ¹æ¹ý
  */
  } finally {
    try {
      if ( rs != null) rs.close();
      if ( stmt != null) stmt.close();
      dbmgr.freeConnection( conn ); // ÀÚ¹Ù½ºÄðÀÇ Ä¿³Ø¼ÇÇ® ¼Ò½º¸¦ ÀÌ¿ëÇÑ´Ù¸é 
      log.close(); // ·Î±× °´Ã¼ ÀÚ¿ø ¹Ý³³
    } catch ( SQLException e ){}
  }

Namecard.java

package namecard;

public class Namecard {

  private int num;
  private String name;
  private String company;		
  private String title;
  private String ophone;
  private String mphone;
  private String url;
  private String email;
  private String address;
  private String mdate;
  private String memo;

  public Namecard(int num, String name, String company, 
    String mphone ) {
    this.num	=  num;
    this.name	=  name;
    this.company	=  company;
    this.mphone	=  mphone;
  }

  public Namecard(int num, String name, String company, 
    String title, String ophone, String mphone, 
    String url, String email, String address, 
    String mdate, String memo ) {
    this.num	=  num;	
    this.name	=  name;	
    this.company	=  company;
    this.title	=  title;
    this.ophone	=  ophone;
    this.mphone	=  mphone;
    this.url	=  url;
    this.email	=  email;
    this.address	=  address;
    this.mdate	=  mdate;
    this.memo	=  memo;
  }

  public Namecard(String name, String company, String title,
    String ophone, String mphone, String url, String email,
    String address, String memo ) {
    this.name	=  name;	
    this.company	=  company;
    this.title	=  title;	
    this.ophone	=  ophone;	
    this.mphone	=  mphone;	
    this.url	=  url;	
    this.email	=  email;	
    this.address	=  address;
    this.memo	=  memo;	
  }

  public int getNum() {
    return num;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getCompany() {
    return company;
  }

  public void setCompany(String company) {
    this.company = company;
  }

  public String getTitle() {
    return title;
  }

  public void setTitle(String title) {
    this.title = title;
  }

  public String getOphone() {
    return ophone;
  }

  public void setOphone(String ophone) {
    this.ophone = ophone;
  }

  public String getMphone() {
    return mphone;
  }

  public void setMphone(String mphone) {
    this.mphone = mphone;
  }

  public String getUrl() {
    return url;
  }

  public void setUrl(String url) {
    this.url = url;
  }

  public String getEmail() {
    return email;
  }

  public void setEmail(String email) {
    this.email = email;
  }

  public String getAddress() {
    return address;
  }

  public void setAddress(String address) {
    this.address = address;
  }

  public String getMdate() {
    return mdate;
  }

  public void setMdate(String mdate) {
    this.mdate = mdate;
  }

  public String getMemo() {
    return memo;
  }

  public void setMemo(String memo) {
    this.memo = memo;
  }

}

NamecardManager.java

package namecard;

import java.util.*;
public class NamecardManager {

  private NamecardDAO namecardDAO;

  public NamecardManager() {
    namecardDAO = new NamecardDAO();
  }

  public void addNamecard ( Namecard namecard ) {
    namecardDAO.addNamecard( namecard );
  }

  public ArrayList<Namecard> getNamecard ( String keyword, String key ) {
    return namecardDAO.getNamecard( keyword, key );
  }

  public Namecard getNamecard ( int num ) {
    return namecardDAO.getNamecard( num );
  }

  public ArrayList<Namecard> getNamecardList() {
    return namecardDAO.getNamecardList();
  }

  public int updateNamecard ( Namecard namecard ) {
    return namecardDAO.updateNamecard(namecard);
  }

  public int deleteNamecard ( int num ) {
    return namecardDAO.deleteNamecard(num);
  }

}

NamecardDAO.java

package namecard;

import java.sql.*;
import java.util.*;

import net.java_school.db.dbpool.*;
import net.java_school.util.Log;

public class NamecardDAO {

  private ConnectionManager connMgr;

  public NamecardDAO() {
    connMgr = new OracleConnectionManager();
  }

  public void addNamecard(Namecard namecard) {
    Log log = new Log();
    PreparedStatement pstmt = null;
    Connection con = null;
    String sql = null;

    try {
      sql = "insert into namecard values (" +
      "seq_namecard_num.nextval,?,?,?,?,?,?,?,?,?,?)";
      con = getConnection();
      pstmt = con.prepareStatement(sql);
      pstmt.setString(1, namecard.getName());
      pstmt.setString(2, namecard.getCompany());
      pstmt.setString(3, namecard.getTitle());
      pstmt.setString(4, namecard.getOphone());
      pstmt.setString(5, namecard.getMphone());
      pstmt.setString(6, namecard.getUrl());
      pstmt.setString(7, namecard.getEmail());
      pstmt.setString(8, namecard.getAddress());
      pstmt.setString(9, namecard.getMdate());
      pstmt.setString(10, namecard.getMemo());
      pstmt.executeUpdate();
    } catch ( SQLException e ) {
      log.debug( "Error Source:NamecardDAO.addNamecard(Namecard) : SQLException" );
      log.debug( "SQLState : " + e.getSQLState() );
      log.debug( "Message : " + e.getMessage() );
      log.debug( "Oracle Error Code : " + e.getErrorCode() );
      log.debug( "Query : " + sql );
    } finally {
      try {
        if ( pstmt != null) pstmt.close();
        connMgr.freeConnection( con );
        log.close();
      } catch( SQLException e ) {}
    }
  }

  public Connection getConnection() {
    return connMgr.getConnection();
  }

  public ArrayList<Namecard> getNamecard(String keyword, String key ) {
    ArrayList<Namecard> namecardAL = new ArrayList<Namecard>();
    String sql =  "select num,name,company,mphone from namecard where " 
    	+ keyword + " like ?";
    Connection con = getConnection();
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    Log log = new Log();

    try { 
      pstmt = con.prepareStatement(sql);
      String keytmp = "%" + key + "%";
      pstmt.setString(1, keytmp);
      rs = pstmt.executeQuery();
      while ( rs.next() ) {
        int num = rs.getInt("num");
        String name = rs.getString("name");
        String company = rs.getString("company");
        String mphone = rs.getString("mphone");
        namecardAL.add(new Namecard(num,name,company,mphone));
      }
    } catch ( SQLException e ) {
      log.debug( "Error Source:NamecardDAO.addNamecard(String,String) : SQLException" );
      log.debug( "SQLState : " + e.getSQLState() );
      log.debug( "Message : " + e.getMessage() );
      log.debug( "Oracle Error Code : " + e.getErrorCode() );
      log.debug( "Query : " + sql );
    } finally {
      try {
        if ( rs != null) rs.close();
        if ( pstmt != null) pstmt.close();
        connMgr.freeConnection( con );
        log.close();
      } catch( SQLException e ) {}
    }

    return namecardAL;
  }

  public Namecard getNamecard(int num) {
    Namecard namecard = null;
    String sql =  "select * from namecard where num = ?";
    Connection con = getConnection();
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    Log log = new Log();

    try {
      pstmt = con.prepareStatement(sql);
      pstmt.setInt(1, num);
      rs = pstmt.executeQuery();
      if ( rs.next() ) {
        String name = rs.getString("name");
        String company = rs.getString("company");
        String title = rs.getString("title");
        String ophone = rs.getString("ophone");
        String mphone = rs.getString("mphone");
        String url = rs.getString("url");
        String email = rs.getString("email");
        String address = rs.getString("address");
        String mdate = rs.getString("mdate"); 
        String memo = rs.getString("memo");
        namecard = new Namecard(num,name,
          company,title,ophone,mphone,url,email,address,mdate,memo);
      }
    } catch ( SQLException e ) {
      log.debug( "Error Source:NamecardDAO.getNamecard(int) : SQLException" );
      log.debug( "SQLState : " + e.getSQLState() );
      log.debug( "Message : " + e.getMessage() );
      log.debug( "Oracle Error Code : " + e.getErrorCode() );
      log.debug( "Query : " + sql );
    } finally {
      try {
        if ( rs != null ) rs.close();
        if ( pstmt != null ) pstmt.close();
        connMgr.freeConnection( con );
        log.close();
      } catch( SQLException e ) {}
    }

    return namecard;

  }

  public ArrayList<Namecard> getNamecardList() {
    ArrayList<Namecard> namecardAL = new ArrayList<Namecard>();
    String sql =  "select * from namecard";
    Connection con = getConnection();
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    Log log = new Log();
    
    try { 
      pstmt = con.prepareStatement(sql);
      rs = pstmt.executeQuery();

      while ( rs.next() ) {
        int num = rs.getInt("num");
        String name = rs.getString("name");
        String company = rs.getString("company");
        String title = rs.getString("title");
        String ophone = rs.getString("ophone");
        String mphone = rs.getString("mphone");
        String url = rs.getString("url");
        String email = rs.getString("email");
        String address = rs.getString("address");
        String mdate = rs.getString("mdate"); 
        String memo = rs.getString("memo");

        namecardAL.add( new Namecard(num,name,
          company,title,ophone,mphone,url,email,address,mdate,memo ) );
      }
    } catch ( SQLException e ) {
      log.debug( "Error Source:NamecardDAO.getNamecardList() : SQLException" );
      log.debug( "SQLState : " + e.getSQLState() );
      log.debug( "Message : " + e.getMessage() );
      log.debug( "Oracle Error Code : " + e.getErrorCode() );
      log.debug( "Query : " + sql );
    } finally {
      try {
        if ( rs != null) rs.close();
        if ( pstmt != null) pstmt.close();
        connMgr.freeConnection( con );
        log.close();
      } catch( SQLException e ) {}
    }

    return namecardAL;

  }

  public int updateNamecard( Namecard namecard ) {
    int chk = 0;// ¼öÁ¤ÀÌ µÇÁö ¾ÊÀ¸¸é 0 ÀÌ ¸®ÅÏ
    Log log = new Log();
    PreparedStatement pstmt = null;
    Connection con = null;
    String sql = null;

    try {
      sql = "update namecard set name = ?, company = ?, title = ?, ophone = ?," +
      "mphone = ?, url = ?, email = ?, address = ?, mdate = ?, memo = ?" +
      " where num = ?";
      con = getConnection();
      pstmt = con.prepareStatement(sql);
      /* 
      * ¼ø¼­¾Ö ¸ÂÃß±â À§ÇØ ¿­°ÅÇÔ.
      * name,company,title,ophone,mphone,url,email,address,mdate,memo
      */				
      pstmt.setString(1, namecard.getName() );
      pstmt.setString(2, namecard.getCompany() );
      pstmt.setString(3, namecard.getTitle() );
      pstmt.setString(4, namecard.getOphone() );
      pstmt.setString(5, namecard.getMphone() );
      pstmt.setString(6, namecard.getUrl() );
      pstmt.setString(7, namecard.getEmail() );
      pstmt.setString(8, namecard.getAddress() );
      pstmt.setString(9, namecard.getMdate() );
      pstmt.setString(10, namecard.getMemo() );
      pstmt.setInt(11, namecard.getNum() );
      chk = pstmt.executeUpdate();
    } catch ( SQLException e ) {
      log.debug( "Error Source:NamecardDAO.updateNamecard(Namecard) : SQLException" );
      log.debug( "SQLState : " + e.getSQLState() );
      log.debug( "Message : " + e.getMessage() );
      log.debug( "Oracle Error Code : " + e.getErrorCode() );
      log.debug( "Query : " + sql );
    } finally {
      try {
        if ( pstmt != null) pstmt.close();
        connMgr.freeConnection( con );
        log.close();
      } catch( SQLException e ) {}
    }

    return chk;

  }

  public int deleteNamecard(int num) {
    int chk = 0;// »èÁ¦°¡ µÇÁö ¾ÊÀ¸¸é 0
    Log log = new Log();
    PreparedStatement pstmt = null;
    Connection con = null;
    String sql = null;
    try {
      sql = "delete from namecard where num = ?";
      con = getConnection();
      pstmt = con.prepareStatement(sql);
      pstmt.setInt(1, num );
      chk = pstmt.executeUpdate();
    } catch ( SQLException e ) {
      log.debug( "Error Source:NamecardDAO.deleteNamecard(int) : SQLException" );
      log.debug( "SQLState : " + e.getSQLState() );
      log.debug( "Message : " + e.getMessage() );
      log.debug( "Oracle Error Code : " + e.getErrorCode() );
      log.debug( "Query : " + sql );
    } finally {
      try {
        if ( pstmt != null ) pstmt.close();
        connMgr.freeConnection( con );
        log.close();
      } catch( SQLException e ) {}
    }

    return chk;
  }

}

NamecardSystem.java

package namecard;

import java.io.*;
import java.util.*;
public class NamecardSystem {

private NamecardManager namecardManager;

  public NamecardSystem() {
    namecardManager = new NamecardManager();
    showMenu();
  }

  public void showMenu() {
    String menu = null;

    String name = null;	
    String company = null; 
    String title = null;	
    String ophone = null;	
    String mphone = null;	
    String url = null;	
    String email = null;	
    String address = null;
    String mdate = null;
    String memo = null;

    int chk = 0; // insert ³ª update ¹®ÀÇ return °ªÀ» ÀúÀå
    String choice = null; // ¼­ºê¸Þ´º¿¡¼­ »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ ¸Þ´º ÀúÀå

    do {
      System.out.println(" *** ¸Þ´º¸¦ ¼±ÅÃÇϼ¼¿ä *** ");
      System.out.println(" 1 *** °í°´ µî·Ï   *** ");
      System.out.println(" 2 *** °í°´ ã±â   *** ");
      System.out.println(" 3 *** °í°´ ã±â(¹øÈ£·Î) *** ");
      System.out.println(" 4 *** Àüü°í°´ º¸±â *** ");
      System.out.println(" 5 *** °í°´ Á¤º¸ ¼öÁ¤ *** ");
      System.out.println(" 6 *** °í°´ Á¤º¸ »èÁ¦ *** ");
      System.out.println(" q *** ³¡³»±â   ");
      System.out.println(" ********************** ");
      System.out.print(">>");

      menu = readFromKeyboard();
      if ( menu.equals("1") ) {
        // »õ·Î¿î °í°´À» µî·ÏÇÑ´Ù.
        System.out.print("À̸§À» ÀÔ·ÂÇϼ¼¿ä>>");
        name = readFromKeyboard();
        System.out.print("ȸ»ç¸íÀ» ÀÔ·ÂÇϼ¼¿ä>>");
        company = readFromKeyboard();
        System.out.print("ŸÀÌÆ²À» ÀÔ·ÂÇϼ¼¿ä(¿¹:°³¹ßºÎ °úÀå)>>");
        title = readFromKeyboard();
        System.out.print("»ç¹«½ÇÀüÈ­¸¦ ÀÔ·ÂÇϼ¼¿ä>>");
        ophone = readFromKeyboard();
        System.out.print("¸ð¹ÙÀÏÀüÈ­¸¦ ÀÔ·ÂÇϼ¼¿ä>>");
        mphone = readFromKeyboard();
        System.out.print("À¥»çÀÌÆ®¸¦ ÀÔ·ÂÇϼ¼¿ä>>");
        url = readFromKeyboard();
        System.out.print("À̸ÞÀÏÀ» ÀÔ·ÂÇϼ¼¿ä>>");
        email = readFromKeyboard();
        System.out.print("ȸ»çÁÖ¼Ò¸¦ ÀÔ·ÂÇϼ¼¿ä>>");
        address = readFromKeyboard();
        System.out.print("°£´ÜÇÑ ¸Þ¸ð¸¦ ÀÔ·ÂÇϼ¼¿ä>>");
        memo = readFromKeyboard();
        namecardManager.addNamecard( new Namecard(name,
        company,title,ophone,mphone,url,email,address,memo) );
      } else if ( menu.equals("2") ) {
        System.out.print("À̸§À¸·Î °Ë»öÇÏ·Á¸é 1À», ȸ»ç¸íÀ¸·Î °Ë»öÇÏ·Á¸é ¾Æ¹«°Å³ª ÀÔ·ÂÇϼ¼¿ä>>");
        choice = readFromKeyboard();
        String keyword = null;
        String key = null;
        if ( choice.equals("1") ) {
          System.out.print("À̸§À» ÀÔ·ÂÇϼ¼¿ä>>");
          key = readFromKeyboard();
          keyword = "name";
        } else {
          System.out.print("ȸ»ç¸íÀ» ÀÔ·ÂÇϼ¼¿ä>>");
          key = readFromKeyboard();
          keyword = "company";
        }
        ArrayList<Namecard> namecardAL = namecardManager.getNamecard(keyword, key);
        for( int i = 0; i < namecardAL.size(); i++ ) {
          Namecard namecard = (Namecard)namecardAL.get(i);
          System.out.println(namecard.getNum() + ":" + namecard.getName() + ":" + 
          namecard.getCompany() + ":" + namecard.getMphone());
        }
      } else if ( menu.equals("3") ) {
        System.out.print("¹øÈ£¸¦ ÀÔ·ÂÇϼ¼¿ä>>");
        int num = Integer.parseInt( readFromKeyboard() );
        Namecard namecard = namecardManager.getNamecard(num);
        System.out.println(namecard.getNum() + ":" + namecard.getName() + ":" + 
        namecard.getCompany() + ":" + namecard.getTitle() + ":" + 
        namecard.getOphone() + ":" + namecard.getMphone() + ":" + 
        namecard.getUrl() + ":" + namecard.getEmail() + ":" + 
        namecard.getAddress() + ":" + namecard.getMdate() + ":" + namecard.getMemo() );
      } else if ( menu.equals("4") ) {
        ArrayList<Namecard> namecardAL = namecardManager.getNamecardList();
        for( int i = 0; i < namecardAL.size(); i++ ) {
          Namecard namecard = (Namecard)namecardAL.get(i);
          System.out.println(namecard.getNum() + ":" + namecard.getName() + ":" + 
          namecard.getCompany() + ":" + namecard.getMphone());
        }
      } else if ( menu.equals("5") ) {
        System.out.print("¹øÈ£¸¦ ÀÔ·ÂÇϼ¼¿ä");
        int num = Integer.parseInt( readFromKeyboard() );
        Namecard namecard = namecardManager.getNamecard(num);
        System.out.println("¹øÈ£: " + namecard.getNum() );
        System.out.println("À̸§: " + namecard.getName() );
        System.out.println("ȸ»ç: " + namecard.getCompany() );
        System.out.println("ŸÀÌÆ²: " + namecard.getTitle() );
        System.out.println("ȸ»çÀüÈ­: " + namecard.getOphone() );
        System.out.println("¸ð¹ÙÀÏÀüÈ­: " + namecard.getMphone() );
        System.out.println("À¥»çÀÌÆ®: " + namecard.getUrl() );
        System.out.println("À̸ÞÀÏ: " + namecard.getEmail() );
        System.out.println("ȸ»çÁÖ¼Ò: " + namecard.getAddress() );
        System.out.println("¸¸³­³¯Â¥: " + namecard.getMdate() );
        System.out.println("¸Þ¸ð: " + namecard.getMemo() );
        if ( namecard != null ) {
          System.out.println("¾î¶² Ç׸ñÀ» º¯°æÇϽðڽÀ´Ï±î?");
          System.out.println("1 *** À̸§ ***");
          System.out.println("2 *** ȸ»ç¸í ***");
          System.out.println("3 *** ŸÀÌÆ² ***");
          System.out.println("4 *** ȸ»çÀüÈ­ ***");
          System.out.println("5 *** ¸ð¹ÙÀÏÀüÈ­ ***");
          System.out.println("6 *** À¥»çÀÌÆ® ***");
          System.out.println("7 *** À̸ÞÀÏ ***");
          System.out.println("8 *** ȸ»çÁÖ¼Ò ***");
          System.out.println("9 *** ¸¸³­³¯Â¥ ***");
          System.out.println("10 *** ¸Þ¸ð ***");
          choice = readFromKeyboard();
          if ( choice.equals("1") ) {
            System.out.print("º¯°æÇÒ À̸§À» ÀÔ·ÂÇϼ¼¿ä>>");
            name = readFromKeyboard();
            namecard.setName(name);
            chk = namecardManager.updateNamecard(namecard);
            if ( chk > 0 ) {
              System.out.println("À̸§À» º¯°æÇß½À´Ï´Ù.");
            }
          } else if ( choice.equals("2") ) {
            System.out.print("º¯°æÇÒ È¸»ç¸íÀ» ÀÔ·ÂÇϼ¼¿ä>>");
            company = readFromKeyboard();
            namecard.setCompany(company);
            chk = namecardManager.updateNamecard(namecard);
            if ( chk > 0 ) {
              System.out.println("ȸ»ç¸íÀ» º¯°æÇß½À´Ï´Ù.");
            }
          } else if ( choice.equals("3") ) {
            System.out.print("º¯°æÇÒ Å¸ÀÌÆ²À» ÀÔ·ÂÇϼ¼¿ä>>");
            title = readFromKeyboard();
            namecard.setTitle(title);
            chk = namecardManager.updateNamecard(namecard);
            if ( chk > 0 ) {
              System.out.println("ŸÀÌÆ²À» º¯°æÇß½À´Ï´Ù.");
            }						
          } else if ( choice.equals("4") ) {
            System.out.print("º¯°æÇÒ È¸»çÀüÈ­¸¦  ÀÔ·ÂÇϼ¼¿ä>>");
            ophone = readFromKeyboard();
            namecard.setOphone(ophone);
            chk = namecardManager.updateNamecard(namecard);
            if ( chk > 0 ) {
              System.out.println("ȸ»çÀüÈ­¸¦ º¯°æÇß½À´Ï´Ù.");
            }
          } else if ( choice.equals("5") ) {
            System.out.print("º¯°æÇÒ ¸ð¹ÙÀÏ ÀüÈ­¸¦  ÀÔ·ÂÇϼ¼¿ä>>");
            mphone = readFromKeyboard();
            namecard.setMphone(mphone);
            chk = namecardManager.updateNamecard(namecard);
            if ( chk > 0 ) {
              System.out.println("¸ð¹ÙÀÏ ÀüÈ­¸¦ º¯°æÇß½À´Ï´Ù.");
            }
          } else if ( choice.equals("6") ) {
            System.out.print("º¯°æÇÒ À¥»çÀÌÆ®¸¦  ÀÔ·ÂÇϼ¼¿ä>>");
            url = readFromKeyboard();
            namecard.setUrl(url);
            chk = namecardManager.updateNamecard(namecard);
            if ( chk > 0 ) {
              System.out.println("À¥»çÀÌÆ® ÁÖ¼Ò¸¦ º¯°æÇß½À´Ï´Ù.");
            }						
          } else if ( choice.equals("7") ) {
            System.out.print("º¯°æÇÒ À̸ÞÀÏÀ»  ÀÔ·ÂÇϼ¼¿ä>>");
            email = readFromKeyboard();
            namecard.setEmail(email);
            chk = namecardManager.updateNamecard(namecard);
            if ( chk > 0 ) {
              System.out.println("À̸ÞÀÏÀ» º¯°æÇß½À´Ï´Ù.");
            }
          } else if ( choice.equals("8") ) {
            System.out.print("º¯°æÇÒ È¸»çÁÖ¼Ò¸¦  ÀÔ·ÂÇϼ¼¿ä>>");
            address = readFromKeyboard();
            namecard.setAddress(address);
            chk = namecardManager.updateNamecard(namecard);
            if ( chk > 0 ) {
              System.out.println("ȸ»çÁÖ¼Ò¸¦ º¯°æÇß½À´Ï´Ù.");
            }
          } else if ( choice.equals("9") ) {
            System.out.print("º¯°æÇÒ ¸¸³­ ³¯Â¥¸¦  ÀÔ·ÂÇϼ¼¿ä(Çü½Ä : 2008/04/26) >>");
            mdate = readFromKeyboard();
            namecard.setMdate(mdate);
            chk = namecardManager.updateNamecard(namecard);
            if ( chk > 0 ) {
              System.out.println("¸¸³­ ³¯Â¥¸¦ º¯°æÇß½À´Ï´Ù.");
            }
          } else if ( choice.equals("10") ) {
            System.out.print("º¯°æÇÒ ¸Þ¸ð³»¿ëÀ»  ÀÔ·ÂÇϼ¼¿ä>>");
            memo = readFromKeyboard();
            namecard.setMemo(memo);
            chk = namecardManager.updateNamecard(namecard);
            if ( chk > 0 ) {
              System.out.println("¸Þ¸ð¸¦ º¯°æÇß½À´Ï´Ù.");
            }
          }
        } else {
          System.out.println("±×·± °í°´ÀÌ ¾ø½À´Ï´Ù.");
          return;
        }
      } else if ( menu.equals("6") ) {
        ArrayList<Namecard> namecardAL = namecardManager.getNamecardList();
        for( int i = 0; i < namecardAL.size(); i++ ) {
          Namecard namecard = (Namecard)namecardAL.get(i);
          System.out.println(namecard.getNum() + ":" + namecard.getName() + ":" + 
          namecard.getCompany() + ":" + namecard.getMphone());
        }
        System.out.print("»èÁ¦ÇÒ °í°´ÀÇ ¹øÈ£¸¦ ÀÔ·ÂÇØ ÁÖ¼¼¿ä>>");
        int del_no = Integer.parseInt( readFromKeyboard() );
        int confirm = namecardManager.deleteNamecard(del_no);
        if ( confirm > 0 ) {
          System.out.println(del_no + " ¹ø °í°´À» »èÁ¦Çß½À´Ï´Ù.");
        }
      }
      System.out.println();
    } while ( !menu.equals("q") );
  }

  public String readFromKeyboard() {
    String input = null;
    try {
      BufferedReader br 
      = new BufferedReader(new InputStreamReader(System.in));
      input = br.readLine();// »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ±â´Ù¸².
    } catch ( Exception e ) {}
    return input;
  }

  public static void main(String[] args) {
    new NamecardSystem();
  }

}