|
Home > Archive > PostgreSQL JDBC > April 2005 > Bit string type in PreparedStatement
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Bit string type in PreparedStatement
|
|
|
| I have a table with a bit string field
CREATE TABLE test (a BIT(8));
When I get the type of this filed from Java
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery("SELECT a FROM
test");
ResultSetMetaData rsmd = rs.getMetaData();
int type = rsmd.getColumnType(1);
String name = rsmd. getColumnTypeName(1)
;
I get
type=-7 that is equal to java.sql.Types.BIT
name=bit
Now I'd like to set the field in a PreparedStatement
PreparedStatement update =
connection.prepareStatement("UPDATE test SET a=?");
update.setObject(1, "B10101010", java.sql.Types.BIT);
update.executeUpdate();
and I get
org.postgresql.util.PSQLException: ERROR: column "a"
is of type bit but expression is of type boolean
How can I set bit string field in PreparedStatement?
Thanks.
____________________
____________________
__________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere
" to majordomo@postgresql
.org)
| |
| Oliver Jowett 2005-04-14, 8:24 pm |
| bst wrote:
> CREATE TABLE test (a BIT(8));
> How can I set bit string field in PreparedStatement?
As far as I can tell, there's no standard way to do this; the JDBC spec
thinks BIT is just like BOOLEAN.
You could use setString() and an explicit cast to bit(8) in your query,
perhaps..
-O
---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
joining column's datatypes do not match
|
|
|
|
|