如果Oracle表中的Number字段中的传入值小于0,我试图输入null值。我试过这种方式,但它给了我无效的列索引。有一个更好的方法吗?谢谢
if (getNepID() > 0 )
{
cstmt.setInt(9,this.getNepID());
}else{
cstmt.setNull(9, java.sql.Types.NULL);
}
答案 0 :(得分:3)
显然,SQL Prepared语句中的参数数量存在问题。
检查正在解析的SQL语句,并查看是否确实有9个或更多参数。
同时将setNull语句更改为cstmt.setNull(9, java.sql.Types.INTEGER);