setObject(int,Object) can not convert Java String object to backend's Integer type

Поиск
Список
Период
Сортировка
Искать
От
Chen Huajun
Тема
setObject(int,Object) can not convert Java String object to backend's Integer type
Дата
Msg-id
50EBFD42.6060401@cn.fujitsu.com
Список
Дерево обсуждения
setObject(int,Object) can not convert Java String object to backend's Integer type Chen Huajun <chenhj@cn.fujitsu.com>
Re: setObject(int,Object) can not convert Java String object to backend's Integer type Dave Cramer <pg@fastcrypt.com>
Re: setObject(int,Object) can not convert Java String object to backend's Integer type Chen Huajun <chenhj@cn.fujitsu.com>
Hi,

According to JDBC Specification Java String object could be converted to
backend's Integer type by setObject().
But in PostgreSQL JDBC, it's not true. It seems to be a bug.

Sample:
PreparedStatement stmt = con.prepareStatement("select 1::int = ?");
stmt.setObject(1, "2");
ResultSet rs = stmt.executeQuery();//raises an error here!

*)but the following is OK
stmt.setObject(1, "2",Types.INTEGER);
stmt.setObject(1, "2",Types.OTHER);


Internally stmt.setObject(1, "2") binds "2" as varchar ,
if it binds "2" as  unspecified type,the result will be OK.



Regards,
Chen Huajun



В списке pgsql-jdbc по дате отправления
От: Steven Schlansker
Дата:
От: Dave Cramer
Дата:
FAQ