0
한 번에 JTable에서 여러 행을 삭제하고 싶지만 한 번에 하나의 행만 삭제할 수 있습니다. JTable은 한 번에 하나의 선택 만 허용합니까? 여러 행을 선택하여 삭제하려면 java가 허용합니까? 주어진 코드는 여러 행을 선택하더라도 한 번에 한 행만 삭제할 수 있습니다.한 번에 JTable, 데이터베이스에서 여러 행을 삭제하는 방법
DBConnection
은 MySql 데이터베이스에 연결하는 클래스입니다.
staffTable1
를 사용하여 MySQL의 데이터를 가져 와서 내 JTable
행과 열을 업데이트 할 수있는 기능 JTable
ShowStaffInStaffTable()
의 변수 이름입니다 :
int row = staffTable1.getSelectedRow();
DefaultTableModel model = (DefaultTableModel) staffTable1.getModel();
String selected = model.getValueAt(row, 9).toString();
if (row >= 0) {
try {
DBConnection DB12 = new DBConnection();
Connection conn = DB12.Connect();
String sql = "delete from staff where Contact_No= ?";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, selected);
stmt.executeUpdate();
form12.ShowStaffInStaffTable();
} catch (Exception w) {
JOptionPane.showMessageDialog(this, "Connection Error!"+w);
w.printStackTrace();
}
}
[* 테이블 사용 방법 : 사용자 선택 *] (https://docs.oracle.com/javase/tutorial/uiswing/components/table.html#selection)을 참조하십시오. – trashgod
@trashgod 나는 이미 우리가 지정한 링크에있는 메서드에 의해 JTable에서 여러 행을 선택할 수 있지만 내 질문에 그들을 선택 후 JTable 및 데이터베이스에서 여러 행을 삭제하는 방법을 알고 있습니까? 주어진 코드 (위)는 여러 행을 선택하더라도 한 번에 한 행만 삭제할 수 있습니다. –
'JTable ... 선택된 여러 행'-'getSelectedRows'는 선택된 행의 색인을 포함하는 배열을 반환합니다 (현재 코드는'getSelectedRow'를 사용합니다) – copeg