在 javafx 中捕获 MySQLIntegrityConstraintViolationException
catch MySQLIntegrityConstraintViolationException in javafx
我试图捕获 (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 中更新它,
当 table 的约束不允许这样做时,当您尝试将单元格中的数据设置为 null 时,会抛出这种异常。
当 Eclipse 要求您删除 catch 子句时,try 块中的代码不会抛出该异常。
但是没有任何细节很难回答这个问题。你能 post 一个代码段和你的 table 定义吗?
我试图捕获 (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 中更新它,
当 table 的约束不允许这样做时,当您尝试将单元格中的数据设置为 null 时,会抛出这种异常。
当 Eclipse 要求您删除 catch 子句时,try 块中的代码不会抛出该异常。
但是没有任何细节很难回答这个问题。你能 post 一个代码段和你的 table 定义吗?