PreparedStatement.setString - Mailing list pgsql-jdbc

From Bert Hiri
Subject PreparedStatement.setString
Date
Msg-id 4150.82.94.255.26.1114152247.squirrel@webmail.high5.net
Whole thread Raw
Responses Re: PreparedStatement.setString
List pgsql-jdbc
Hi,

Suppose I have a table like:

    CREATE TABLE test
    ( id    DECIMAL(10)
    );

When executing the following statement from the psql command prompt:

    INSERT INTO test(id) VALUES ('12345');

That will succeed.

When executing the following from JDBC:

    PreparedStatement stmt =
        con.prepareStatement("INSERT INTO test(id) VALUES (?)");
    stmt.setString("12345");
    stmt.executeUpdate();

This will fail. With the message:

    Cause: ERROR: column "id" is of type numeric but expression is of type
character varying

I think this shouldn't fail. This exact same piece of Java code does work
with all other databases that I work with. And psql doesn't seem to mind
taking a string value either, so why should the PreparedStatement?




Regards,
Bert


pgsql-jdbc by date:

Previous
From: Dave Cramer
Date:
Subject: Re: What Hibernate Object ID generator is recommanded for
Next
From: Oliver Jowett
Date:
Subject: Re: PreparedStatement.setString