While researching the reason for the "No results were returned by the query" error I found this interesting and kind of scary article:
"From a number of experiments, it appears that the only way I can re-use a connection after it has asserted an SQLException is to issue a rollback() call on the connection."