Lists: | pgsql-jdbc |
---|
From: | "Roger Niederland" <roger(at)niederland(dot)com> |
---|---|
To: | <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | query string on a prepared statement |
Date: | 2004-11-24 20:41:47 |
Message-ID: | 001501c4d266$055d3c30$0c02010a@RogerPortable |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-jdbc |
Using pg80b1.308.jdbc3.jar got the following: (worked with
pg74.215.jdbc3.jar)
Code:
results = stmt.executeQuery("SELECT currval('LoginLog_LoginLogID_seq')");
Stack Trace:
org.postgresql.util.PSQLException: Can't use query methods that take a query
string on a PreparedStatement.
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:203)
at
org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205)
postgresql version: 8.0beta5
Thanks,
Roger
From: | Oliver Jowett <oliver(at)opencloud(dot)com> |
---|---|
To: | Roger Niederland <roger(at)niederland(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: query string on a prepared statement |
Date: | 2004-11-24 22:33:20 |
Message-ID: | 41A50C30.9000108@opencloud.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-jdbc |
Roger Niederland wrote:
> Using pg80b1.308.jdbc3.jar got the following: (worked with
> pg74.215.jdbc3.jar)
>
> Code:
> results = stmt.executeQuery("SELECT currval('LoginLog_LoginLogID_seq')");
>
> Stack Trace:
> org.postgresql.util.PSQLException: Can't use query methods that take a
> query string on a PreparedStatement.
As it says, you can't use executeQuery(String) on a PreparedStatement.
Use it on a Statement created via Connection.createStatement() instead.
The JDBC spec requires that PreparedStatement throw an exception in this
case. Older drivers did not follow the spec.
-O
From: | "Roger Niederland" <roger(at)niederland(dot)com> |
---|---|
To: | "Oliver Jowett" <oliver(at)opencloud(dot)com> |
Cc: | <pgsql-jdbc(at)postgresql(dot)org> |
Subject: | Re: query string on a prepared statement |
Date: | 2004-11-24 22:50:00 |
Message-ID: | 002801c4d277$ee33a640$0c02010a@RogerPortable |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-jdbc |
Similar code work previously on DB2, Mysql and earlier versions of the
released postgresql jdbc drivers. So I assumed that this was a driver
problem.
Thanks, for the quick response!
> Roger Niederland wrote:
>
>> Using pg80b1.308.jdbc3.jar got the following: (worked with
>> pg74.215.jdbc3.jar)
>>
>> Code:
>> results = stmt.executeQuery("SELECT currval('LoginLog_LoginLogID_seq')");
>>
>> Stack Trace:
>> org.postgresql.util.PSQLException: Can't use query methods that take a
>> query string on a PreparedStatement.
>
> As it says, you can't use executeQuery(String) on a PreparedStatement. Use
> it on a Statement created via Connection.createStatement() instead.
>
> The JDBC spec requires that PreparedStatement throw an exception in this
> case. Older drivers did not follow the spec.
>
> -O
>
>