提问者:小点点

错误:无法将值NULL插入列'username'、表'FERA_ONL_LEARNING. dbo.Account';列不允许空值。更新失败


我有以下代码:

 public void updateAccount(String username, String name, String address, String aboutMe, 
 String id) {
    String sql = "update Account set username = ?, \n"
            + "                [Full_Name] = ?,\n"
            + "                [Address] = ?,\n"
            + "                [about_me] = ?\n"
            + "                where id = ?";
    try {
        PreparedStatement ps = connection.prepareStatement(sql);
        ps.setString(1, username);
        ps.setString(2, name);
        ps.setString(3, address);
        ps.setString(4, aboutMe);
        ps.setString(5, id);
        ps.executeUpdate();

    } catch (Exception ex) {
        Logger.getLogger(AccountDao.class.getName()).log(Level.SEVERE, null, ex);
    }
}

但是当我在我的网站上更改用户名、全名等内容时,它们仍然没有更新并显示以下错误:

我肯定我改变了他们的值,它不能为空。

如何修复此错误?


共1个答案

匿名用户

您是否尝试过打印动态查询的结果?您可以在ps. HRC teUpdate()之前添加system.out.println(sql),以验证您的变量是否正确赋值。

我通过sql的连接方式估计它没有正确获取位置,并且默认情况下setString返回NULL。