私のテーブルには、1) 追加、2) 削除、3) ステータスの更新の 3 つの操作があります。
ここで、1 と 2 は Jbuttonsl です
クリックすると1)新しい行が追加されます
クリックすると2)行が追加されます。
1と2)は設定どおりに機能していますが、最後の列のステータスを更新するために、この方法でコーディングしました
public void statusUpd() throws SQLException
{
table.getModel().addTableModelListener(new TableModelListener()
{
@Override
public void tableChanged(TableModelEvent tme)
{
int row = table.getSelectedRow();
if(!(row<0))
{
String name=(String)(table.getModel().getValueAt(row, 0));
String status = (String)(table.getModel().getValueAt(row, 3));
String update = "UPDATE "+deptName+ " SET Status = ? WHERE Name = ?";
try
{
conn = ac.getConnection();
stmt = conn.prepareStatement(update);
stmt.setString(1, status);
stmt.setString(2, name);
stmt.executeUpdate();
}
catch (SQLException | ClassNotFoundException ex)
{
ex.printStackTrace();
}
finally
{
try
{
if(stmt != null){stmt.close();}
if(conn != null) {conn.close();}
}
catch(SQLException e){}
}
}
}
});
}
しかし、このメソッドは追加または削除ボタンがクリックされたときにリッスンします。これを回避する方法はありますか?