0
JTableから複数の行を一度に削除したいのですが、一度に1行しか削除できません。 JTableは一度に1つの選択だけを許可しますか?それらを選択して複数の行を削除したいのであれば、私たちはそうすることができますか?指定されたコードは、複数の行を選択しても、一度に1行しか削除できません。一度にJTableデータベースから複数の行を削除する方法
DBConnection
は、MySqlデータベースに接続するためのクラスです。
staffTable1
はJTable
ShowStaffInStaffTable()
の変数名は、ここでゲッターセッタークラス
を使用してMySQLからデータをインポートすることで、私のJTable
行と列を更新する機能です、私が試してみました私のコードです:
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とデータベースから複数の行を削除する方法ですか?上記のコード(上記)は、複数の行を選択しても、一度に1行しか削除できません。 –
'JTableから複数の行が選択された後' - 'getSelectedRows'は選択された行のインデックスを含む配列を返します(現在のコードは' getSelectedRow'を使用します) – copeg