0

我更新了 mysql 表中的日期。我的问题是某些日期为空,请勿插入表中。我使用此检查,但我的问题是 int 类型

public void Salva(String query){
    int i = 1;
    try{
        con=Connessione.ConnessioneDB();
        pst= con.prepareStatement(query, PreparedStatement.RETURN_GENERATED_KEYS);
        if (anno != null){
            pst.setString(i, getAnno());
            i++;
            }
        if (numFormulari != null){
            pst.setString(i, getNumFormulari());
            i++;
        }
        if (dataFornulari != null){
            pst.setString(i, getDataFornulari());
            i++;
        }
        if (getIdClienti != null){
            pst.setInt(i, getIdClienti());
            i++;
        }
        if (idIva != null){
            pst.setString(i, getIdIva());
            i++;
        }
4

2 回答 2

1

原始类型int不能为空,你应该尝试使用 Integer 类

于 2016-05-20T10:07:49.703 回答
0

正如霍夫曼所说,原始类型(如整数)不能是null. 你可以做的是提出一个无效的值(比如 -1,因为我假设你的 ID 不能为负数)。修改您的方法以在无法获得有效 ID 时返回无效 ID,并检查无效 id 而不是null.

我假设您正在检查我在代码中看到的唯一intID。总的来说。

此外,您的更多代码(例如getIdClienti()方法代码)和有关您项目的更多详细信息可能会帮助我们找到更合适的解决方案。

于 2016-05-20T10:24:35.627 回答