Я использую UCanAccess для вставки данных в таблицу Access со следующим столбцы:
- d1 double
- d2 double ноль по умолчанию
- d рассчитывается как If((If([d1] равно нулю;0;[d1])=-999);Null;If([d2] не равно нулю;Round(([d1]+[d2])/2;1); [d1]))
В Доступ. Я могу вставить ноль в 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);");
}
Есть идеи, что не так или как это исправить?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ucanaccess
Мобильная версия