Re: ResultSet with more than 5 rows causes error
От | Ludovico Bianchini |
---|---|
Тема | Re: ResultSet with more than 5 rows causes error |
Дата | |
Msg-id | 00ea01c80125$cc3d0d30$4101a8c0@MRHYDE обсуждение исходный текст |
Ответ на | ResultSet with more than 5 rows causes error (Ludovico Bianchini <metlud@yahoo.it>) |
Ответы |
Re: ResultSet with more than 5 rows causes error
|
Список | 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 по дате отправления: