在oracle中的数字字段中输入空值
如果 Oracle 表中的“数字”字段中的传入值小于 0,我尝试输入空值。我尝试了这种方法,但它给了我无效的列索引。有更好的方法吗?谢谢
if (getNepID() > 0 )
{
cstmt.setInt(9,this.getNepID());
}else{
cstmt.setNull(9, java.sql.Types.NULL);
}
I am trying to enter null value if incoming value is less than 0 in Number field in Oracle table. I tried this way but its giving me invalid column index. Is there a better way to do this? Thank you
if (getNepID() > 0 )
{
cstmt.setInt(9,this.getNepID());
}else{
cstmt.setNull(9, java.sql.Types.NULL);
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这显然是 SQL 准备语句中参数数量的问题。
检查正在解析的SQL语句,看看是否确实有9个或更多参数。
还将 setNull 语句更改为 cstmt.setNull(9, java.sql.Types.INTEGER);
It is clearly issue with the number of parameters in the SQL Prepared statement.
Check the SQL statement that is being parsed and seee if indeed has 9 or more parameters.
Also change the setNull statement to
cstmt.setNull(9, java.sql.Types.INTEGER);