繁体   English   中英

在PreparedStatement中传递null值setObject方法给出了异常

[英]passing null value in PreparedStatement setObject method gives exception

我们有解决方案吗?

我的代码是这样的:

preparedStatement.SetObject(i , MyArray);

在这里,MyArray是一个从表中取出的记录数组。 现在,只要以上语句找到一个null值,它就会引发一个SQL异常:无效的列类型。

可用的选项是使用setObject(int parameterIndex,Object x,int sqlType)或setNull,但在这种情况下,我需要提供目标列的SQL类型,这似乎不可能。

谢谢

你可以尝试使用NULL类型的setNull:

if(myArray == null) {
    preparedStatement.setNull(i, Types.NULL);
}

请遵循Java编码标准 - 变量和方法是初始小写!

尝试:

preparedStatement.setObject(i , MyArray, java.sql.Types.ARRAY);

有了可用的信息,这就是我能想到的。 希望这应该有效。

阿比纳夫

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM