Re: PreparedStatement and TYPE bit
От | Ingmar Lötzsch |
---|---|
Тема | Re: PreparedStatement and TYPE bit |
Дата | |
Msg-id | 456C0577.6000100@asci-systemhaus.de обсуждение исходный текст |
Ответ на | PreparedStatement and TYPE bit (Ingmar Lötzsch <iloetzsch@asci-systemhaus.de>) |
Ответы |
Re: PreparedStatement and TYPE bit
|
Список | pgsql-jdbc |
Ingmar Lötzsch schrieb: > Hallo, > > how can I use PreparedStatement to insert or update columns of type > bit(n), varbit, ...? > > I have never figoured out the right way. In former versions of the > JDBC-Driver I used setString() as shown below or constructed the whole > query string and used Statement. > > String sql = > "... > WHERE f1.verkehrstage & B? <> 0::bit(384) > ..."; > > PreparedStatement pstmt_select1 = con.prepareStatement(sql); > > BigInteger mybits = ... > > // padding bits 0 on the left up to 384 (type bit(384)) > String querybits = mybits.or(this.bit384).toString(2).substring(1); mybits has max. 384 bits. this.bit384 is a BigInteger with the value of 2^384. Thats why mybits.or(this.bit384) results in a BigInteger with exact 385 bits with 1 on the most significant position and mybits.or(this.bit384).toString(2).substring(1) is a "bitstring" with exact 384 bits. > pstmt_select1.setString(1, querybits); > ... > ResultSet rs = pstmt_select1.executeQuery(); > > This does not work in versions 8.x. > > Thank you
В списке pgsql-jdbc по дате отправления: