我的表有 3 个操作 1)添加 2)删除 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){}
}
}
}
});
}
但是这个方法会在点击添加或删除按钮时进行监听,有什么办法可以避免这种情况吗?