Thread View: pl.comp.lang.java
3 messages
3 total messages
Started by J-23
Fri, 20 Jun 2014 22:49
(Java) SQLException: ResultSet is Close
Author: J-23
Date: Fri, 20 Jun 2014 22:49
Date: Fri, 20 Jun 2014 22:49
195 lines
8908 bytes
8908 bytes
Witam.
Mam klasę w EXT-GWT używam jej do dynamicznego wczytania SQL, wszystko
działa poprawnie, (pomimo że dostaje wyjątek)
public class LoaderDataHandler implements ActionHandler<LoaderData,
LoaderDataResult> {
private List<ModelData> LoaderDataLive(Boolean
commitAfterTransaction, DBAction action, String sSQL) {
List<ModelData> record = new ArrayList<ModelData>();
Statement stat = null;
ResultSet result = null;
try {
List<NaviSoftRealMeta> FieldName = null;
NaviSoftToolInformation.getConnection(commitAfterTransaction, action);
if (commitAfterTransaction) {
if (NaviSoftToolInformation.getNocommitConnection() ==
null || NaviSoftToolInformation.getNocommitConnection().isClosed()) {
switch (action) {
case SELECT:
FieldName =
NaviSoftToolsServer.getMetaData(sSQL);
stat =
NaviSoftToolInformation.getConnectionDataSQL().createStatement();
break;
case INSERT:
FieldName =
NaviSoftToolsServer.getMetaData(sSQL);
stat =
NaviSoftToolInformation.getConnectionDataSQLINSERT().createStatement();
break;
case UPDATE:
FieldName =
NaviSoftToolsServer.getMetaData(sSQL);
stat =
NaviSoftToolInformation.getConnectionDataSQLUPDATE().createStatement();
break;
case DELETE:
FieldName =
NaviSoftToolsServer.getMetaData(sSQL);
stat =
NaviSoftToolInformation.getConnectionDataSQLDELETE().createStatement();
break;
}
} else {
FieldName = NaviSoftToolsServer.getMetaData(sSQL);
stat =
NaviSoftToolInformation.getNocommitConnection().createStatement();
}
} else {
FieldName = NaviSoftToolsServer.getMetaData(sSQL);
stat =
NaviSoftToolInformation.getNocommitConnection().createStatement();
}
result = stat.executeQuery(sSQL);
while (result.next()) {
BaseModel MDR = new BaseModel();
for (int i = 0; i < FieldName.size(); i++) {
MDR.set(FieldName.get(i).getAliasFieldName().toUpperCase(),
result.getString(FieldName.get(i).getAliasFieldName().toUpperCase())); -
tutaj jest wyjątek a się tyczy tego że przy przewijaniu Grida dostaję
wyjątek że ResultSet is Close
}
record.add(MDR);
}
} catch (SQLException ex) {
Logger.getLogger(LoaderDataHandler.class.getName()).log(Level.SEVERE,
null, ex);
} catch (JSQLParserException ex) {
Logger.getLogger(LoaderDataHandler.class.getName()).log(Level.SEVERE,
null, ex);
} finally {
if (stat != null) {
try {
stat.close();
} catch (SQLException ex) {
Logger.getLogger(LoaderDataHandler.class.getName()).log(Level.SEVERE,
null, ex);
}
}
}
return record;
}
@Override
public Class<LoaderData> getActionType() {
return LoaderData.class;
}
@Override
public LoaderDataResult execute(LoaderData action, ExecutionContext
context) throws NaviSoftDataLiveException {
List<ModelData> record = new ArrayList<ModelData>();
List<ModelData> tmpRecord =
LoaderDataLive(action.getCommitAfterTransaction(), action.getAction(),
action.getSQL());;
int start = action.getConfig().getOffset();
int limit = tmpRecord.size();
if (action.getConfig().getLimit() > 0) {
limit = Math.min(start + action.getConfig().getLimit(), limit);
}
for (int i = action.getConfig().getOffset(); i < limit; i++) {
record.add(tmpRecord.get(i));
}
return new LoaderDataResult(new
BasePagingLoadResult<ModelData>(record, action.getConfig().getOffset(),
record.size()));
}
@Override
public void rollback(LoaderData action, LoaderDataResult result,
ExecutionContext context) throws DispatchException {
throw new UnsupportedOperationException("Not supported yet.");
}
}
Wyjątek:
cze 21, 2014 12:34:43 AM
pl.cba.lukaszbaczek.server.Handler.LoaderDataHandler LoaderDataLive
SEVERE: null
org.firebirdsql.jdbc.FBSQLException: The resultSet is closed
at
org.firebirdsql.jdbc.AbstractResultSet.getField(AbstractResultSet.java:687)
at
org.firebirdsql.jdbc.AbstractResultSet.getString(AbstractResultSet.java:747)
at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.firebirdsql.pool.ResultSetHandler.invoke(ResultSetHandler.java:70)
at $Proxy36.getString(Unknown Source)
at
pl.cba.lukaszbaczek.server.Handler.LoaderDataHandler.LoaderDataLive(LoaderDataHandler.java:75)
at
pl.cba.lukaszbaczek.server.Handler.LoaderDataHandler.execute(LoaderDataHandler.java:103)
at
pl.cba.lukaszbaczek.server.Handler.LoaderDataHandler.execute(LoaderDataHandler.java:34)
at
net.customware.gwt.dispatch.server.AbstractDispatch.doExecute(AbstractDispatch.java:81)
at
net.customware.gwt.dispatch.server.AbstractDispatch.execute(AbstractDispatch.java:68)
at
pl.cba.lukaszbaczek.server.NaviSoftDispatchServlet.execute(NaviSoftDispatchServlet.java:80)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at
org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Jeżeli nie przewijam suwakiem grida, wszystko jest ok.
Pozdrawiam
Re: (Java) SQLException: ResultSet is Close
Author: konsul41
Date: Mon, 23 Jun 2014 06:30
Date: Mon, 23 Jun 2014 06:30
7 lines
1377 bytes
1377 bytes
Użytkownik "J-23" <baczeklu@o2.pl> napisał w wiadomości news:lo2dp4$lip$1@node1.news.atman.pl... > Witam. > Przepraszam Cię ale dlaczego piszesz o Javie na grupie o Delphi i nawet słowa przepraszam albo pocałujcie mnie w d...
Re: (Java) SQLException: ResultSet is Close
Author: J-23
Date: Mon, 23 Jun 2014 10:22
Date: Mon, 23 Jun 2014 10:22
18 lines
1767 bytes
1767 bytes
W dniu 23.06.2014 08:30, konsul41@wp.pl pisze: > > Użytkownik "J-23" <baczeklu@o2.pl> napisał w wiadomości > news:lo2dp4$lip$1@node1.news.atman.pl... >> Witam. >> > Przepraszam Cię ale dlaczego piszesz o Javie na grupie o Delphi i nawet > słowa przepraszam albo pocałujcie mnie w d... Masz racje ale pisałem już kilka razy, za każdym razem albo prawie za każdym pisałem że pisze dla tego że tu jest większy ruch jak na Grupie o javie stąd moje pytania są kierowane na grupę o Javie i tutaj. Tym razem nie napisałem że piszę tutaj bo "jest większy ruch" tylko zaznaczyłem że chodzi o java w ten sposób "(Java)" w temacie. Problem rozwiązałem dzięki tej informacji http://stackoverflow.com/questions/935511/how-can-i-avoid-resultset-is-closed-exception-in-java Pozdrawiam
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads