...salve, ho creato una applicazione web basata su JSP, sarebbe un guestbook. Il mio problema risiede al momento in cui si inserisce un nuovo messaggio in questo guestbook. Il database viene aggiornato con successo con i nuovi dati, però viene comunque lanciata una SQLException con messaggio: "Operation not allowed after ResultSet closed ". Ma io non capisco perchè l'operazione statement.execute (query) non utilizza nessun ResultSet, quindi non capisco come quest'ultimo possa avere a che fare con il problema...
questo è il codice della pagina jsp che contiene 1 metodo per leggere e uno per aggiornare il database, a noi interessa il metodo addGuest, e ripeto, il database viene aggiornato correttamente...
codice:
package beans;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.util.ArrayList;
public class GuestDataBean
{
private Connection connection;
private Statement statement;
private ResultSet resultSet;
public GuestDataBean() throws Exception
{
Class.forName ("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection ("jdbc:mysql://localhost/guestbook", "root", "");
statement = connection.createStatement();
resultSet = statement.executeQuery ("SELECT firstName, lastName, email FROM guests");
}
public ArrayList < GuestBean > getGuestList() throws SQLException
{
ArrayList < GuestBean > guestList = new ArrayList < GuestBean >();
resultSet.beforeFirst();
while (resultSet.next())
{
GuestBean guest = new GuestBean();
guest.setFirstName (resultSet.getString (1));
guest.setLastName (resultSet.getString (2));
guest.setEmail (resultSet.getString (3));
guestList.add (guest);
}
try
{
statement.close();
connection.close();
}
catch (Exception exception) {}
return guestList;
}
public void addGuest (GuestBean guest) throws SQLException
{
String firstName = guest.getFirstName();
String lastName = guest.getLastName();
String email = guest.getEmail();
statement.execute ("INSERT INTO guests (firstName, lastName, email) VALUES ('" + firstName + "', '" + lastName + "', '" + email + "')");
try
{
statement.close();
connection.close();
}
catch (Exception exception) {}
}
}
Spero che qualcuno possa aiutarmi