Невозможно вставить значение null в таблицу Access с вычисляемым полем через UCanAccess [дубликат]JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Невозможно вставить значение null в таблицу Access с вычисляемым полем через UCanAccess [дубликат]

Сообщение Anonymous »

Этот вопрос связан с этим: вычисляемые поля в ms-access возвращают неправильные/усеченные значения при использовании UCanAccess
Я использую UCanAccess для вставки данных в таблицу Access со следующим столбцы:
  • d1 double
  • d2 double ноль по умолчанию
  • d рассчитывается как IIf((Если([d1] равно нулю,0,[d1])=-999),Null,IIf([d2] не равно нулю,Round(([d1]+[d2])/2,1), [d1]))
где d — вычисляемое поле для среднего значения d1 и d2.
В Доступ. Я могу вставить ноль в d2. Использование UCanAccess для вставки нулевых значений приводит к следующей ошибке:

net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::4.x.x исключение вызова внешней подпрограммы: null значение недопустимо
в ucanaccess@5.0.1/net.ucanaccess.jdbc.UcanaccessStatement.execute(UcanaccessStatement.java:159)
в javaapplication23.JavaApplication23.main(JavaApplication23.java:35)

Вот мой код:

Код: Выделить всё

Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
con = DriverManager.getConnection("jdbc:ucanaccess://" + database+ ";singleconnection=true", "", "");

try(Statement stmt = con.createStatement();){
stmt.execute("INSERT INTO Tab (d1, d2) VALUES (2.1, null);");
}
Похоже, проблема связана с вычисляемым столбцом. Это сработает, если я удалю его, но на самом деле это не вариант.
Использование функции Nz() вместо IS NULL, как в этом вопросе, не работает, поскольку Nz не разрешен в вычисляемых полях.
Есть идеи, что не так или как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ucanaccess
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»