setBoolean with BIT column

From: Kevin Schmidt <kevin(dot)schmidt(at)enterworks(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: setBoolean with BIT column
Date: 2002-09-18 14:51:48
Message-ID: 3D889304.3070303@enterworks.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hi,

I am using PostgreSQL 7.2 and have a column of type BIT that I am
inserting into with a PreparedStatement. In reading the Javadoc for
PreparedStatement, the setBoolean() method seems to be the correct way
to set a parameter for a BIT datatype as the description for the method is:

"Sets the designated parameter to the given Java boolean value. The
driver converts this to an SQL BIT value when it sends it to the database."

When I try this though, I get an error:

"cannot parse t as a binary digit"

In looking at the PreparedStatement's SQL, it seems to be constructing
something like:

insert into myTable values('t')

which would explain the error message.

So, is this a bug in the JDBC driver in that it doesn't do the
conversion to an SQL BIT value when sent to the database like the
Javadoc says? If not, what is the correct way to set a parameter to a
BIT value in a PreparedStatement?

I know I can probably use a BOOLEAN column and things will work fine,
but I expected this to work using a BIT datatype.

Thanks,

Kevin

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Michael Paesold 2002-09-18 14:58:13 Implementing JDBC3 methods (Was: JDBC and fetching the OID of an insert)
Previous Message Dave Cramer 2002-09-18 14:23:53 Re: JDBC and fetching the OID of an insert