2

我们有解决方案吗?

我的代码是这样的:

preparedStatement.SetObject(i , MyArray);

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

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

谢谢

4

2 回答 2

6

您可以尝试将 setNull 与 NULL 类型一起使用:

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

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

于 2013-03-22T23:38:53.007 回答
2

尝试:

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

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

阿比纳夫

于 2013-03-22T23:33:54.667 回答