Re: setBoolean with BIT column

Поиск
Список
Период
Сортировка
От Barry Lind
Тема Re: setBoolean with BIT column
Дата
Msg-id 3D88B29B.7080406@xythos.com
обсуждение исходный текст
Ответ на setBoolean with BIT column  (Kevin Schmidt <kevin.schmidt@enterworks.com>)
Список pgsql-jdbc
Kevin,

BOOLEAN is the correct data type for the table.  BIT is not.  The BIT
datatype is a variable length datatype.  So you can create a table like
the following:

create table testbit (a bit(10));

So the column a is of datatype bit, but of length 10 (i.e. 10 bits).
Clearly setBoolean() isn't the correct method to be using to set the BIT
value in this case.

In postgres SQL_TYPES.BIT = the BOOLEAN datatype.  Where the BIT
datatype has different symantics than SQL_TYPES.BIT.

thanks,
--Barry


Kevin Schmidt wrote:
> 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
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>


В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Barry Lind
Дата:
Сообщение: Re: NOTICE causing SQLException
Следующее
От: Barry Lind
Дата:
Сообщение: Re: [GENERAL] Postgres 7.3b1 + JDBC3 (2002-09-05) truncates SQL