我已经开始为我的sql更新使用预准备语句了,但是当我更新时,我似乎遇到了麻烦。逻辑看似合理,但每当它进入更新段时我都会收到错误。我可以删除或插入罚款。 Anywho ...
Connection con = getDBConnection();
PreparedStatement pstmt = null;
String query = "update table set int = ?, String= ? where int= ? and date= ?";
pstmt = con.prepareStatement(query);
pstmt.setInt(1, var);
pstmt.setDate(2, sqlDate);
pstmt.setInt(3, intVar);
pstmt.setString(4, stringVar);
pstmt.executeUpdate();
我在这里做错了吗?我已经完成了所有的故障排除,除此之外,一切似乎都很好。
Error = "A non-numeric character was found where a numeric was expected"
答案 0 :(得分:2)
你的字符串和日期是错误的 - 当第二个参数位于“String =?”的上下文中时,你正在调用setDate(2, ...)
和setString(4, ...)
当第四个参数位于“date =?”的上下文中时。
不可否认,你得到的错误有点奇怪,但我只能看到......