【问题标题】:catch MySQLIntegrityConstraintViolationException in javafx在 javafx 中捕获 MySQLIntegrityConstraintViolationException
【发布时间】:2015-01-02 21:36:38
【问题描述】:

我试图捕捉 (MySQLIntegrityConstraintViolationException) 但 eclipse 要求我删除 try 和 catch
我的问题是如何检测 MySQLIntegrityConstraintViolationException。
因为我要更新数据,而我的Table包含了一个外键,当我尝试添加不存在的数据时,出现了这个错误 因此我想知道数据是否存在所以我改变它,如果没有我添加它
这是我的代码:

     col_observ.setOnEditCommit(
         new EventHandler<CellEditEvent<Information, String>>() {
             @Override
             public void handle(CellEditEvent<Information, String> t) {
                 co.connexion_open();
                 co.insert("update user set obser'"+t.getNewValue()+"' where id="+t.getRowValue().getId()+"");
                 co.connexion_close();
             }
         }
     );

其中 col_obsev 是一个 tableColumn,它包含一个 TextfieldsTableCell,所以当我在这个单元格中编辑数据时,我必须在 DB 中更新它,

【问题讨论】:

    标签: javafx


    【解决方案1】:

    当您尝试将单元格中的数据设置为 null 而表的约束不允许这样做时,就会引发这种异常。
    当 Eclipse 要求您删除 catch 子句时,try 块中的代码不会抛出该异常。
    但是如果没有任何细节,很难回答这个问题。你能发布一个代码段和你的表定义吗?

    【讨论】:

    • 在您尝试盲更新之前,也许只需执行“从表名中选择计数(*)...”。如果返回 0,则请求的数据不存在。
    猜你喜欢
    • 2011-02-21
    • 2018-03-10
    • 2017-12-12
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    • 2014-12-18
    相关资源
    最近更新 更多