getParameterValues() et insertion dans DB
Bonjour !
Je suis face à un problème de récupération de checkbox.
Je vous présente mon code et après je vous explique ma démarche.
Code:
1 2 3 4 5 6
|
<td>A: <input type="checkbox" name="indice36<%=i%>" value='<%=listIndice[0]%>' />
B: <input type="checkbox" name="indice36<%=i%>" value='<%=listIndice[1]%>' />
C: <input type="checkbox" name="indice36<%=i%>" value='<%=listIndice[2]%>' />
D: <input type="checkbox" name="indice36<%=i%>" value='<%=listIndice[3]%>' />
</td> |
i dépendra de la taille de mon resultset : il y aura des checkbox pour chaque item de mon resulset.
Voici ce qu'il se passe dans ma servlet:
Code:
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
|
// on stocke les indices qui ont été retenu pour ce prélèvement
String[] listSupFlore22 = request.getParameterValues("indice22"+k);
String[] listSupFlore36 = request.getParameterValues("indice36"+k);
String supFlore22 = listSupFlore22[0];
String supFlore36 = listSupFlore36[0];
for (int m=1;m<listSupFlore22.length;m++){
supFlore22.concat(listSupFlore22[m]);
}
for (int m=1;m<listSupFlore36.length;m++){
supFlore36.concat(listSupFlore36[m]);
}
if (testerEtude(Prelev)){
updatePrlvmt.execute("update ResultEBM " +
"set valeurFlore36='"+valeurF36+"' " +
",supFlore36='"+supFlore36+"' " +
",valeurFlore22='"+valeurF22+"' " +
",supFlore22='"+supFlore22+"' " +
",valeurPaeru='"+valeurPseudomonas+"' " +
",checkPyo='"+checkPyo+"' " +
" where idPrelevement='"+Prelev+"'") ;
}
else{ |
Là je n'ai pas de messages d'erreur.
Cependant bien que j'ai coché 3 cases, le résultat dans la DB de supFlore36 ou 22 est uniquement constitué de la premiere lettre (donc de listSupFlore22(ou 36)[0]).
Mais lorsque je fais ca (l'approche logique):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
String[] listSupFlore22 = request.getParameterValues("indice22"+k);
String[] listSupFlore36 = request.getParameterValues("indice36"+k);
String supFlore22 = null;
String supFlore36 = null;
for (int m=0;m<listSupFlore22.length;m++){
supFlore22.concat(listSupFlore22[m]);
}
for (int m=0;m<listSupFlore36.length;m++){
supFlore36.concat(listSupFlore36[m]);
} |
J'ai le message d'erreur suivant:
Code:
1 2 3 4 5
|
Connected to : jdbc:mysql://127.0.0.1:3306/BIOTECH
*** SQLException caught in main()
java.lang.NullPointerException |
Le problème d'apres l'erreur vient de la ligne de concaténation! Or l'élèment listSupFlore22[0] existe bien (cf le premier code).
Auriez vous une idée s'il vous plait ? J'ai bloqué 1h hier là dessus et je ne vois pas d'où vient l'erreur.