I tried to read the data from database and store the ResultSet in ArrayList. However, I receive the error java.sql.SQLException: After end of result set when I print the arraylist. I have checked that I don't have call my result.next() twice according to this link . Anyone have better way to store the result set? Then I can print it out at the location I want.
Statement stmt=con.createStatement();
ResultSet rsVehicle=stmt.executeQuery("select * from vehicle");
while(rsVehicle.next()) {
vehicleList.add(rsVehicle);
}
System.out.println(vehicleList.size());
for(int i=0;i<vehicleList.size();i++) {
System.out.println(vehicleList.get(i).getInt(1)+" "+vehicleList.get(i).getString(2)+" "+vehicleList.get(i).getString(3)+" "+
vehicleList.get(i).getString(4)+" "+vehicleList.get(i).getString(5)+" "+vehicleList.get(i).getString(6)+" "+
vehicleList.get(i).getString(7)+" "+vehicleList.get(i).getString(8)+" "+vehicleList.get(i).getString(9)+" "+
vehicleList.get(i).getString(10)+" "+vehicleList.get(i).getString(11)+" "+vehicleList.get(i).getString(12)+" "+
vehicleList.get(i).getString(13)+" "+vehicleList.get(i).getString(14)+" "+vehicleList.get(i).getString(15));
}
PreparedStatement ps;
ps =con.prepareStatement("SELECT * from job WHERE date = ?");
ps.setString(1, date);
ResultSet rsJob=ps.executeQuery();
while(rsJob.next()) {
jobList.add(rsJob);
}
System.out.println(jobList.size());
for(int i=0;i<jobList.size();i++) {
System.out.println(jobList.get(i).getInt(1)+" "+jobList.get(i).getString(2)+" "+jobList.get(i).getString(3)+" "+
jobList.get(i).getString(4)+" "+jobList.get(i).getString(5)+" "+jobList.get(i).getString(6)+" "+
jobList.get(i).getString(7)+" "+jobList.get(i).getString(8)+" "+jobList.get(i).getString(9)+" "+
jobList.get(i).getString(10)+" "+jobList.get(i).getString(11)+" "+jobList.get(i).getString(12)+" "+
jobList.get(i).getString(13)+" "+jobList.get(i).getString(14)+" "+jobList.get(i).getString(15));
}
next, this doesn't make any sense.