java如何限制MySQL中删除的特定行
我使用jComboBox
从表中选择供应商,所以我在表中为“无”选择的供应商创建了-1id
行
-1行也出现在我获取所有记录的用户面前
jTable
我不希望用户删除这一行可能是无意或有意的
我可以吃点这样的吗
我正在使用MySQL和Java
String comName = (String) jSupplrsComboBox.getSelectedItem();
Suppliers suppliers = manager.searchSuppCompny(comName);
if (comName.equals("none")) {
receivings.getSuppliers().setId(-1);
receivings.setSuppliers(suppliers);
}
receivings.setSuppliers(suppliers);
将Suppliers
提取到jComboBox
,然后手动添加“无”文本,这样它在Suppliers
表中就不匹配了
# 1 楼答案
我不确定你到底想达到什么目的,但如果你使用的是
JComboBox
,我想你是在按照组合框选择所指示的供应商筛选数据库。这也意味着您的组合框模型需要填充数据库中存在的条目这是一种将字符串从枚举设置到组合框的快速方法,从数据库传递条目应该以类似的方式工作,但可能需要解决确保不存在重复的问题
在链接Java - Check Boxes in a JComboBox中,乔纳森·范伯格的回答可能更适合于多个过滤器
至于MYSQL,我假设您有权进行修改,如果您添加一个额外的字段,比如isValid,以指示所述条目是否有效,可能会更好。在这种情况下,您可以在
jSupplrsComboBox.getSelectedItem()
上使用额外的WHERE isValid = 1
进行筛选。 但是你的问题更倾向于Java而不是MYSQL,所以我不会再多提了。查看MySQL Boolean Question和相关链接,了解更多相关信息