2015-02-04 3 views
0

JComboBox에서 선택한 값을 가져 오기 위해 사용해야하는 특정 명령 또는 알고리즘은 특정 데이터베이스에 삽입해야합니까?콤보 박스에서 데이터베이스로 값 받기

+0

무엇을 시도 했습니까? 어떤 부분에 붙어 있습니까? 더 나은 도움을 받으려면 문제를 설명하는 [Minimal, Complete and Verifiable Example] (http://www.stackoverflow.com/help/mcve)을 추가하십시오. 귀하의 질문은 너무 광범위합니다. – dic19

답변

2

콤보 박스에서 값을 얻는 방법과 값을 DB에 삽입하는 방법은 완전히 다른 두 가지 질문입니다.

값을 추출하는 데는 String x = String.valueOf(JComboBox.getSelectedItem()); 줄을 사용할 수 있지만 DB로 밀어 넣는 방법은 글쎄, DB 유형, 호스트 및 기타 여러 변수에 따라 달라지는 훨씬 큰 문제입니다. 네트워크 등

3

값을 선택하려면 문자열 값 = JComboBox.getSelectedItem(). toString();

0

헤드 업과 마찬가지로 사용자가 초기화했는지 확인해야하며 적어도 예외가있는 요소가 적어도 있습니다. 이 경우 sqlite를 사용 하겠지만 이전에 말했던 것처럼 데이터베이스 논리는 모두 여러분에게 달려 있습니다.

public Stack() { 
    JComboBox<Object> box = new JComboBox<Object>(); 
    // This can work 
    Object value = box.getSelectedItem(); 
    DatabaseManager manager = new DatabaseManager(); 
    manager.init(); 
    if (DatabaseManager.insertRecord(value.toString())) 
     System.out.println("Record Inserted"); 
    else 
     System.out.println("Record Insertion Failed"); 
    } 

    static class DatabaseManager { 

    static Connection con; 
    static Statement stmt; 

    void init() { 
     try { 
      Class.forName("org.sqlite.JDBC"); 
      con = DriverManager 
        .getConnection("jdbc:sqlite:database.sqlite"); 
      if (!con.isClosed()) { 
       stmt = con.createStatement(); 
       stmt.executeUpdate("create table if not exists item (id integer primary autoincrement, value varchar(100) not null"); 
      } 
     } catch (ClassNotFoundException | SQLException e) { 
      e.printStackTrace(); 
     } 
    } 

    static boolean insertRecord(String item) { 
     try { 
      if (stmt.executeUpdate("insert into item (value) values('" 
        + item + "')") > 0) 
       return true; 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
     return false; 
     } 
    } 
+0

Db 연결에 close 문을 추가 할 수 있습니다 – Olu

관련 문제