Передача нулевого значения в методе PreparedStatement setObject дает исключение
У нас есть решение для этого?
мой код примерно такой:
preparedStatement.SetObject(i , MyArray);
Здесь MyArray - это массив записей, извлеченных из таблицы. Теперь, когда приведенный выше оператор находит значение null, он генерирует исключение SQL: недопустимый тип столбца.
Доступны следующие опции: использовать setObject(int parameterIndex, Object x, int sqlType) или setNull, но в этом случае мне нужно предоставить тип SQL для целевого столбца, что не представляется возможным.
Спасибо
2 ответа
Вы можете попробовать использовать setNull с типом NULL:
if(myArray == null) {
preparedStatement.setNull(i, Types.NULL);
}
И, пожалуйста, следуйте стандартам Java-кодирования - переменные и методы изначально строчные!
Пытаться:
preparedStatement.setObject(i , MyArray, java.sql.Types.ARRAY);
С доступной информацией это все, что я могу придумать. Надеюсь, это должно работать.
Abhinav