Skip site navigation (1) Skip section navigation (2)

Why?? executeQuery() & exception: "No results were returned by the query."

From: Panu Outinen <panu(at)vertex(dot)fi>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Why?? executeQuery() & exception: "No results were returned by the query."
Date: 2001-05-08 14:04:56
Message-ID: 5.0.2.1.0.20010508164432.02d1dca0@vertex.fi (view raw or flat)
Thread:
Lists: pgsql-jdbc
Hi there !

Can anyone explain why does executeQuery() throws an exception
"No results were returned by the query."
when result set is empty ???????

In my opinion (and also e.g. Oracle's JDBC driver's opinion) that this is 
just normal and user can check the number of rows (=0) that none was 
returned. It's totally different to make a query where something is wrong 
in the query itself e.g. non-existant column is used or perhaps in the 
database connection!

This is "pain in the *ss" to test against in one's code for every different 
JDBC driver's DIFFERENT return string there available and it's impossible 
to do code that works for even unknown drivers. And Postgresql has even 
language dependant versions of this !!!

Since Postgresql source code is so nicely publicly available (thank you all 
there!) and thus improvements are easily given by anyone I just wonder if 
this could be improved, please !!!

   - Panu

PS. I know for sure that at least SQL Server throws the following when used 
through JDBC-ODBC bridge: "No ResultSet was produced".


----------------------------------------------------------------------

org\postgresql\jdbc2\Statement.java:

...
	/**
	 * Execute a SQL statement that retruns a single ResultSet
	 *
	 * @param sql typically a static SQL SELECT statement
	 * @return a ResulSet that contains the data produced by the query
	 * @exception SQLException if a database access error occurs
	 */
	public java.sql.ResultSet executeQuery(String sql) throws SQLException
	{
	    this.execute(sql);
	    while (result != null && 
!((org.postgresql.ResultSet)result).reallyResultSet())
		result = ((org.postgresql.ResultSet)result).getNext();
	    if (result == null)
		throw new PSQLException("postgresql.stat.noresult");
	    return result;
	}
...

----------------------------------------------------------------------


Responses

pgsql-jdbc by date

Next:From: Palle GirgensohnDate: 2001-05-08 14:16:31
Subject: Re: Trouble with JDBC2 ResultSet.getDate()
Previous:From: Thys De Wet@iCommerceDate: 2001-05-08 13:14:37
Subject: JDBC Download.

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group