我有以下代码:
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);
}
}
但是当我在我的网站上更改用户名、全名等内容时,它们仍然没有更新并显示以下错误:
我肯定我改变了他们的值,它不能为空。
如何修复此错误?
您是否尝试过打印动态查询的结果?您可以在ps. HRC teUpdate()之前添加system.out.println(sql),以验证您的变量是否正确赋值。
我通过sql的连接方式估计它没有正确获取位置,并且默认情况下setString返回NULL。