Bonjour !
J'ai un problème avec mes fondamentaux décidément.
Je bloque encore sur un truc tout bête.

Je crée au début de mon script des lignes dans ma table et si elles ne sont pas remplies apres mon traitement alors je vais les effacer.
Voici le coté servlet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
void doActualisationFormDonnee(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		Connexion updatePrlvmt= new Connexion();

		if (listIdPrelevement.isEmpty()){
			getServletContext().getRequestDispatcher((String) params.get("urlFormulaire")).forward(request,
					response);       
			return;
		}

		else{
//serveur,login,pwd,database
				updatePrlvmt.loadDriverAndConnect("127.0.0.1","3306","root","root","");

				//

				// ETAPE 1 :recuperation de la signification de chacun des indices
				for (int j=0; j<listIndice.length; j++) {
					String query="insert into CorrespIndiceEBM values ('"+NEtude +"','"+listIndice[j] +"','null','null','null','null','null','null'," +
					"'null','null','null','null','null','null')";
					updatePrlvmt.execute(query);

					for (int k=1; k<=listIndice.length; k++) {
			try{	[TRAITEMENT: INSERTION DES VALEURS DE L'UTILISATEUR DANS LES LIGNES ADEQUATES]
	// si apres la création de la ligne concernant la lettre, il n'y a pas eu d'information rentré (donc status='null') 
				// alors on supprime la ligne
				for (int m=0; m<listIndice.length; m++) {	
					String queryCheck="SELECT Corresp1,Corresp2,Corresp3,Corresp4" +
							" FROM CorrespIndiceEBM where Netude='"+NEtude+"' AND lettre='"+listIndice[m]+"'";
					
					ResultSet rsCheck=updatePrlvmt.ConnectAndQuestion(queryCheck);
					
					while (rsCheck.next()){
						String Corresp1= rsCheck.getString("Corresp1");
						String Corresp2= rsCheck.getString("Corresp2");
						String Corresp3= rsCheck.getString("Corresp3");
						String Corresp4= rsCheck.getString("Corresp4");
											
						if (Corresp1.equals("null") && Corresp2.equals("null") && Corresp3.equals("null") && Corresp4.equals("null")){
							updatePrlvmt.execute("delete FROM CorrespIndiceEBM " +
									" where Netude='"+NEtude+"' AND lettre='"+listIndice[m]+"'");
						}
						
					}
					
				}
Voilà le message d'erreur que j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Connected to :	jdbc:mysql://127.0.0.1:3306/BIOTECH
 
*** SQLException caught in main()
java.sql.SQLException: Operation not allowed after ResultSet closed
	at com.mysql.jdbc.ResultSet.checkClosed(ResultSet.java:652)
	at com.mysql.jdbc.ResultSet.next(ResultSet.java:5942)
	at com.mysql.jdbc.UpdatableResultSet.next(UpdatableResultSet.java:975)
	at germande.EBM.ServletDonneeResultEBM.doActualisationFormDonnee(ServletDonneeResultEBM.java:249)
Donc je ne comprend absolument pas ce qu'il se passe !! J'y comprend rien !
Je n'ai pas fermé la connection.
Par exemple quand seule les correspondances de la lettre "a" sont remplies : j'ai bien la ligne concernant la lettre "a "qui est gardé dans la table mais aussi "c" et "d" mais pas "b" !!
Une idée s'il vous plait ??
Merci d'avance !