English 中文(简体)
54Exception, Result 关闭了,但我可以说明原因。
原标题:SQLException, ResultSet closed but I can figure out why

I m 存在问题。 ResultSet, I have a java.sql.PreparedStatement on which Iîcut Query() to re a Resultery 然而,当我试图从Im的提问中取得结果时,我却被抛出一个例外:

Exception: java.sql.SQLException Message: Operation not allowed after ResultSet closed.

从网上搜索看,它就看着一种结果。 由于以下几个原因,最终可以关闭:

  1. The PreparedStatement object that generated it is closed.
  2. The PreparedStatement object that generated it is re-executed.
  3. The PreparedStatement object that generated it is used to retrieve the next result from a sequence of multiple results.
  4. Closing the Connection which was used to generate the PreparedStatement.

I checked my code and do none of those things. Below is a snippet of the code that causes the problem:

PreparedStatement psAccountPartyIdByEmail = null;
....
try {
    String [] nextLine;
    while ((nextLine = reader.readNext()) != null) {
        String email = nextLine[0];
        .....
        try {
            if (psAccountPartyIdByEmail == null) {
                psAccountPartyIdByEmail = session.connection().prepareStatement(SQL_GET_ACCOUNTPARTYID_BY_EMAILADDRESS);
            }

            psAccountPartyIdByEmail.setString(1, email);
            ResultSet partyIds = psAccountPartyIdByEmail.executeQuery();

            while (partyIds.next()) {
               String partyId = partyIds.getString(1);
                .....
            }
        } catch (SQLException e) {
            Debug.logError(e, "Encountered SQLException while running group service.", MODULE);
        }
    }
} catch (IOException e) {
    Debug.logError(e, "Problem reading line in file", MODULE);
}

在试图执行时,除外:while (Part Ids.next())){

同我一样,我从未结束联系或发言,因为你在试图看到我的结果之前,不能再重复发言。

感谢......

页: 1

问题回答

我不知道这是否会解决这个问题,但你能够/应该采取行动。

if (psAccountPartyIdByEmail == null) {
            psAccountPartyIdByEmail = session.connection().prepareStatement(SQL_GET_ACCOUNTPARTYID_BY_EMAILADDRESS);
        }

outside of the while loop. Also, close the ResultSet after you ve processed the rows. Then, when you re all done close your statement and connection.





相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...

热门标签