Search Postgresql Archives

Re: [JDBC] ResultSet problem in JDBC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/12/10 13:14, Zhipan Wang wrote:

> Statement st = c.createStatement();
> ResultSet r = st.executeQuery("select unnest(col0) from relation2_col1
> where keyValue<500");
> PreparedStatement sql = c.prepareStatement( "SELECT col1 FROM relation2
> WHERE col0 IN ?");
> sql.setObject(1, r);
> ResultSet result = sql.executeQuery();

You appear to be trying to implement a subquery client-side. Why not
just use:

PreparedStatement sql = c.prepareStatement(
          "SELECT col1 FROM relation2 WHERE col0 IN "+
          "(SELECT unnest(col0) from relation2_col1 where keyValue<500"
          );

? It's hard to know whether the above is correct because you've failed
to provide your schema, but something along those lines seems to fit
your intent from the code above.

> I am using Eclipse, and there is no warning for this code.

No, Eclipse can't know the details of how every JDBC driver works.

> Can't a result set be used in another query? How do I correct it?

Either build an array with the contents of the resultset and pass that,
or avoid the weirdness by using a subquery directly.

-- 
System & Network Administrator
POST Newspapers

-- 
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux