Передача нулевого значения в методе 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

Другие вопросы по тегам