我们有解决方案吗?
我的代码是这样的:
preparedStatement.SetObject(i , MyArray);
这里,MyArray是一个从表中获取的记录数组。现在,只要上述语句找到值null,就会抛出SQL异常:无效的列类型。
可用的选项是使用setObject(int parameterIndex,Object x,int sqlType)或setNull,但在这种情况下我需要提供目标列的SQL类型,这似乎不可能。
由于
答案 0 :(得分:4)
您可以尝试使用NULL类型的setNull:
if(myArray == null) {
preparedStatement.setNull(i, Types.NULL);
}
请遵循Java编码标准 - 变量和方法是初始小写!
答案 1 :(得分:2)
尝试:
preparedStatement.setObject(i , MyArray, java.sql.Types.ARRAY);
有了这些信息,这就是我能想到的。希望这应该有用。
阿比纳夫