Re: ResultSet with more than 5 rows causes error - Mailing list pgsql-jdbc

From Ludovico Bianchini
Subject Re: ResultSet with more than 5 rows causes error
Date
Msg-id 00ea01c80125$cc3d0d30$4101a8c0@MRHYDE
Whole thread Raw
In response to ResultSet with more than 5 rows causes error  (Ludovico Bianchini <metlud@yahoo.it>)
Responses Re: ResultSet with more than 5 rows causes error
List pgsql-jdbc
----- Original Message -----
From: "Giuseppe Sacco" <giuseppe@eppesuigoccas.homedns.org>
To: "Ludovico Bianchini" <metlud@yahoo.it>
Cc: <pgsql-jdbc@postgresql.org>
Sent: Thursday, September 27, 2007 6:27 PM
Subject: Re: [JDBC] ResultSet with more than 5 rows causes error


> Il giorno gio, 27/09/2007 alle 12.20 +0200, Ludovico Bianchini ha
> scritto:
> [...]
>> while(source.next()) {
>> insertCall.registerOutParameter(1, Types.INTEGER);
>> for (int i = 1; i <= colCount; i++) {
>> data = source.getObject(i);
>> insertCall.setObject(i+1, data);
>> }
>> insertCall.execute();
> [...]
>
> I never used CallableStatement, but I do think you should use
> insertCall.setObject(i,data)
> instead of
> insertCall.setObject(i+1,data)
>
>

The stored procedure returns an integer parameter, which must be registered
with

insertCall.registerOutParameter(1, Types.INTEGER);

In a first attempt I wrote

insertCall.setObject(i,data);

but an error happened: the last parameter was not set. So: if there is a
return value, the arguments index starts from 2.
Really it's work fine for first 5 rows.

With this modification (create a new CallableStatement for every row)

[..]
insertCall.execute();
insertCall.close();
insertCall = remoteConnection.prepareCall(Costanti.FUNCTION_INSERT);
[..]

 the code works, but I think the problem has to be solve deeply.

Chiacchiera con i tuoi amici in tempo reale!
 http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com

pgsql-jdbc by date:

Previous
From: "Ludovico Bianchini"
Date:
Subject: Re: ResultSet with more than 5 rows causes error
Next
From: Giuseppe Sacco
Date:
Subject: Re: ResultSet with more than 5 rows causes error