PreparedStatement.setString
| От | Bert Hiri |
|---|---|
| Тема | PreparedStatement.setString |
| Дата | |
| Msg-id | 4150.82.94.255.26.1114152247.squirrel@webmail.high5.net обсуждение |
| Ответы |
Re: PreparedStatement.setString
|
| Список | pgsql-jdbc |
Hi,
Suppose I have a table like:
CREATE TABLE test
( id DECIMAL(10)
);
When executing the following statement from the psql command prompt:
INSERT INTO test(id) VALUES ('12345');
That will succeed.
When executing the following from JDBC:
PreparedStatement stmt =
con.prepareStatement("INSERT INTO test(id) VALUES (?)");
stmt.setString("12345");
stmt.executeUpdate();
This will fail. With the message:
Cause: ERROR: column "id" is of type numeric but expression is of type
character varying
I think this shouldn't fail. This exact same piece of Java code does work
with all other databases that I work with. And psql doesn't seem to mind
taking a string value either, so why should the PreparedStatement?
Regards,
Bert
В списке pgsql-jdbc по дате отправления: