Я определил столбец в моей базе данных postgresql как тип денег, допустим, всего. Я вставив данные с JAVA JSpinner использует двойную модель, вводный делаются просто отлично, но когда я хочу, чтобы выбрать данные, хранящиеся в общей колонке сТип денег postgresql и java
result.getBigDecimal("total");
Я получил сообщение об ошибке;
org.postgresql.util.PSQLException: Mauvaise valeur pour le type BigDecimal : 0,00 €
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.toBigDecimal(AbstractJdbc2ResultSet.java:3012)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getBigDecimal(AbstractJdbc2ResultSet.java:2400)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getBigDecimal(AbstractJdbc2ResultSet.java:355)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getBigDecimal(AbstractJdbc2ResultSet.java:361)
at DAO.BonDachatDAO.findAll(BonDachatDAO.java:42)
at VIEW.BonDeAchatUi.initComponents(BonDeAchatUi.java:255)
at VIEW.BonDeAchatUi.<init>(BonDeAchatUi.java:123)
at VIEW.BonDeAchatUi$3.run(BonDeAchatUi.java:483)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:744)
at java.awt.EventQueue.access$400(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:697)
at java.awt.EventQueue$3.run(EventQueue.java:691)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:714)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Дело в том, что в этом случае запрос фактически возвращает '0,00 €', то есть включая знак Euro, или местный эквивалент в зависимости от настройки lc_monetary. – fvu