ResultSet Already closed error
Posted
by javatraniee
on Stack Overflow
See other posts from Stack Overflow
or by javatraniee
Published on 2010-05-08T05:04:50Z
Indexed on
2010/05/08
5:08 UTC
Read the original article
Hit count: 246
java
why am i getting an error of resultset already closed error
public class Server implements Runnable { private static int port=1600, maxConnections=0; public static Connection connnew=null; public static Connection connnew1=null; public static Statement stnew,stnew1,stnew2,stnew3,stnew4; public void getConnection() { try{ Class.forName("org.gjt.mm.mysql.Driver"); connnew= DriverManager.getConnection("jdbc:mysql://localhost/db_alldata","root","flashkit"); connnew1= DriverManager.getConnection("jdbc:mysql://localhost/db_main","root","flashkit"); stnew=connnew.createStatement(); stnew1=connnew.createStatement(); stnew2=connnew1.createStatement(); stnew3=connnew1.createStatement(); stnew4=connnew1.createStatement(); }catch (Exception e) { System.out.print("Get Connection Exception---"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+"----- > "+e); }
} public void closeConnection() { try{ if(!(connnew.isClosed())) { stnew.close(); stnew1.close(); connnew.close(); } if(!(connnew1.isClosed())) { stnew2.close(); stnew3.close(); stnew4.close(); connnew1.close(); }
}catch (Exception e) { System.out.print("Close Connection Closing Exception-----"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+"------->"+e); }
} Server() { try{
}catch(Exception ee) { System.out.print("Server Exceptions in main connection--"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+"------>"+ee); } } public static void main(String[] args) throws SQLException { int i=0; Server STUD= new Server(); STUD.getConnection();
try { ServerSocket listener = new ServerSocket(port); Socket server; while((i++ < maxConnections) || (maxConnections == 0)) {
@SuppressWarnings("unused")
doComms connection;
server = listener.accept();
try{
ResultSet checkconnection=stnew4.executeQuery("select count(*) from t_studentdetails");
if(checkconnection.next())
{
//DO NOTHING IF EXCEPTION THEN CLOSE ALL CONNECTIONS AND OPEN NEW CONNECTIONS
}
}catch (Exception e) {
System.out.print("Db Connection Lost Closing And Re-Opning It--------"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+"--------"+e);
STUD.closeConnection();
STUD.getConnection();
}
doComms conn_c= new doComms(server,stnew,stnew1,stnew2,stnew3);
Thread t = new Thread(conn_c);
t.start();
}
}catch (IOException ioe)
{
System.out.println("Main IOException on socket listen: " + ioe);
}
} public void run() {
} }
class doComms implements Runnable { private Socket server; private String input; static Connection conn=null; static Connection conn1=null; static Statement st,st1,st2,st3; doComms(Socket server, Statement st,Statement st1,Statement st2,Statement st3 ) { this.server=server; doComms.st=st; doComms.st1=st1; doComms.st2=st2; doComms.st3=st3; } @SuppressWarnings("deprecation") public void run () { input=""; //char ch; try { DataInputStream in = new DataInputStream (server.getInputStream()); OutputStreamWriter outgoing=new OutputStreamWriter(server.getOutputStream()); while(!(null==(input=in.readLine()))) {
savetodatabase(input,server.getPort(),outgoing);
}
//server.close();
} catch (IOException ioe)
{
System.out.println("RUN IOException on socket listen:-------"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+"----- " + ioe);
ioe.printStackTrace();
}
} public void savetodatabase(String line, int port1, OutputStreamWriter outgoing) { try { String Rollno="-",name="-",div="-",storeddate="-",storedtime="-",mailfrom=""; String newline=line; String unitid="-";
storeddate=new SimpleDateFormat("yyyy-MM-dd").format(new java.util.Date());
storedtime=new SimpleDateFormat("HH:mm:ss").format(new java.util.Date());
String sql2="delete from t_currentport where PortNumber='"+port1+"''";
st2.executeUpdate(sql2);
sql2="insert into t_currentport (unitid, portnumber,thedate,thetime) values ('"+unitid+"','"+port1+"','"+storeddate+"','"+storedtime+"')";
st2.executeUpdate(sql2);
String tablename=GetTable();
String sql="select * from t_studentdetails where Unitid='"+unitid+"'";
ResultSet rst=st2.executeQuery(sql);
if(rst.next())
{
Rollno=rst.getString("Rollno");
name=rst.getString("name");
div=rst.getString("div");
}
String sql1="insert into studentInfo StoredDate,StoredTime,Subject,UnitId,Body,Status,Rollno,div,VehId,MailDate,MailTime,MailFrom,MailTo,Header,UnProcessedStamps) values('"+storeddate+"','"+storedtime+"','"+unitid+"','"+unitid+"','"+newline+"','Pending','"+Rollno+"','"+div+"','"+name+"','"+storeddate+"','"+storedtime+"','"+mailfrom+"','"+mailfrom+"','-','-')";
st1.executeUpdate(sql1);
}catch(Exception e)
{
System.out.print("Save to db Connection Exception--"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+"-->"+e);
}
}
}
© Stack Overflow or respective owner