2012-11-20 3 views
0

프로젝트를 만들고 있는데이 프로젝트를 위해 Jlist에서 특정 행을 삭제해야합니다. Jlist는 데이터베이스의 데이터로 채워진다.JList에서 행 삭제

이제 Jbutton을 클릭하면 열 코드에서 행을 삭제할 수 있지만 새 행을 삭제하려면 새 코드에서 쿼리를 변경해야합니다.

은의 actionPerformed :

@Override 
    public void Delete() { 
     Connection conn; 
     String sql = "DELETE FROM OEFENINGEN WHERE CODE = '5'"; 

     try{ 
      conn = OpenConnection(); 
      stmt = conn.createStatement(); 

      int result = stmt.executeUpdate(sql); 
      if(result > 0){ 
       System.out.println("Record Delete"); 
      } else{ 
       System.out.println("Record NOT Delete"); 
      } 
     }catch (SQLException e){ 
      e.printStackTrace(); 
     } finally { 
      if (stmt != null){ 
       try{ 
        stmt.close(); 
       }catch (SQLException e){ 
        e.printStackTrace(); 
       } 
      } 
     } 
     } 
    } 

당신은 그가 데이터베이스에서 행을 삭제하고 JList에이 때의 JButton를 클릭 JList의에서 임의의 행을 선택했을 때 내가 원하는.

+2

데이터베이스에서 행을 삭제 한 후 데이터베이스의 실제 데이터로 JList를 다시로드하십시오. –

+0

순간에 나는 무작위로 선택된 행을 삭제하지만 WHERE CODE = '5'그래서 그는 코드가 5이고 6 7 또는 8이 아닌 행만을 삭제할 것입니다. 6을 삭제하려면 WHERE에서 변경해야합니다 CODE = '6'하지만 코드를 변경하지 않고 6을 삭제하려면 JList에서 선택하고 버튼을 클릭하십시오. – Ismail

+0

정확히 무엇이 문제입니까? 데이터베이스에서 레코드를 삭제하는 방법이나 JList에서 행을 삭제하는 방법 또는 JList에서 현재 선택된 행을 확인하는 방법을 모르십니까? –

답변

1

목록의 각 행은

자신에게 Action 만들기 (적어도 식별로 필요한 정보를 운반하거나입니다) 데이터베이스에 데이터를 나타내는 실제 개체가 있는지 확인합니다,의 참조를 전달 JList 그것에`ListModel '.

actionPerformed 메서드가 실행되면 어떤 행이 선택되어 있는지 확인하고 ListModel에서 행 데이터를 추출한 다음 삭제 메서드를 호출하십시오. delete 메소드에서 행의 정보를 사용하여 delete 문의 조건을 식별하십시오.