JDBC : problem to update DECIMAL column. - Mailing list pgsql-jdbc

From Igor Hribik
Subject JDBC : problem to update DECIMAL column.
Date
Msg-id 3AA377AD.C77B39AA@czech.sun.com
Whole thread Raw
Responses Re: JDBC : problem to update DECIMAL column.  (Peter T Mount <peter@retep.org.uk>)
List pgsql-jdbc
Hello,
we are using jdbc6.5-1.2.jar driver for connection to PostgreSQL
database. We have a problem to update DECIMAL column when we are using
CachedRowSet in JDBC application created inside Forte for Java IDE. We
suppose this a bug in driver. From our investigations it seems it might
be a problem with PreparedStatement. See below steps to reproduce in
Forte for Java. Anyway we think the most important is this error
message:

ERROR:  Unable to identify an operator '=' for types 'numeric' and
'float8'
        You will have to retype this query using an explicit cast

Please could you inform us, if this issue will be solved by you or if
there is new version of driver.

Thank you.

Igor Hribik
Quality Assurance Engineer, Forte Tools
Software Platforms and Products
Sun Microsystems Czech s.r.o.
E-mail:igor.hribik@czech.sun.com

====================================================================================

It is impossible to update decimal value in PostreSQL database.

- create a table with one row (e.g. dec1 DECIMAL(15,5))
- generate application with JTable and DataNavigator showing this table
(e.g. by JDBC Form Wizard)
- add new row, fill in the column decimal value (e.g. 12.34), push
accept changes
- now it is OK, changes were successfully saved into database
- try to modify the value and push accept button
- exception is thrown and it is not possible to change the value

ERROR:  Unable to identify an operator '=' for types 'numeric' and
'float8'
        You will have to retype this query using an explicit cast

java.sql.SQLException: acceptChanges Failed
        at
sun.jdbc.rowset.CachedRowSet.acceptChanges(CachedRowSet.java:791)
        at
org.netbeans.lib.sql.DataNavigator.updateButtonActionPerformed(DataNavigator.java:345)

        at
org.netbeans.lib.sql.DataNavigator.access$600(DataNavigator.java:31)
        at
org.netbeans.lib.sql.DataNavigator$7.actionPerformed(DataNavigator.java:165)

        at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)

        at
javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)

        at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)

        at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
        at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216)

        at
java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:230)

        at java.awt.Component.processMouseEvent(Component.java:3715)
        at java.awt.Component.processEvent(Component.java:3544)
        at java.awt.Container.processEvent(Container.java:1165)
        at java.awt.Component.dispatchEventImpl(Component.java:2593)
        at java.awt.Container.dispatchEventImpl(Container.java:1214)
        at java.awt.Component.dispatchEvent(Component.java:2497)
        at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2452)
        at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:2217)
        at
java.awt.LightweightDispatcher.dispatchEvent(Container.java:2126)
        at java.awt.Container.dispatchEventImpl(Container.java:1201)
        at java.awt.Window.dispatchEventImpl(Window.java:912)
        at java.awt.Component.dispatchEvent(Component.java:2497)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:333)
        at
java.awt.EventDispatchThread.pumpOneEvent(EventDispatchThread.java:103)
        at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:84)




pgsql-jdbc by date:

Previous
From: Barry Lind
Date:
Subject: Re: [INTERFACES] JDBC timestamps with timezones
Next
From: Peter T Mount
Date:
Subject: Re: JDBC : problem to update DECIMAL column.