Stockage de variables...

piscuce Messages postés 17 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 9 septembre 2004 - 23 août 2004 à 11:23
wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 - 23 août 2004 à 15:13
Bonjour JavaPeople.

Dans le développement d'une servlet, je récupère des variables HTM que je convertis. Je désire stocker ces variables. J'ai donc instancié un tableau pour cela. Le souci est que le stockage ne s'effectue que de la 1ere variable à la seconde. Et au delà, il y a perdition de la valeur de la 1ere. Conséquence: application qiu se boucle sur mon premier test...
De l'aide s'il vous plait
Pocuce

6 réponses

wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
23 août 2004 à 11:26
sans code ....
0
wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
23 août 2004 à 11:28
remarque c'est surement ta boucle de stockage qui foire. genre toublie de faire un i++
0
piscuce Messages postés 17 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 9 septembre 2004
23 août 2004 à 11:40
int id[]=new int[5];

String jTps = req.getParameter("annee");//récuperation d'un parametre
int idTps = 0;
if(jTps!= null)
{
idTps = Integer.parseInt(jTps);
id[0]= idTps;
}

String jFct = req.getParameter("fonction");//récuperation d'un parametre
int idFct = 0;
if(jFct!= null)
{
idFct = Integer.parseInt(jFct);
id[1]= idFct;
}

String jTch = req.getParameter("charge");//récuperation d'un parametre
int idTch = 0;
if(jTch!= null)
{
idTch = Integer.parseInt(jTch);
id[4]= idTch;
}

String jEtm = req.getParameter("etablissement");//récuperation d'un parametre
int idEtm = 0;
if(jEtm!= null)
{
idEtm = Integer.parseInt(jEtm);
id[4]= idEtm;
}

String jZgq = req.getParameter("lieu");//récuperation d'un parametre
int idZgq = 0;
if(jZgq!= null)
{
idZgq = Integer.parseInt(jZgq);
id[4]= idZgq;
}
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("<HTML><HEAD><TITLE>Listes des modalités des axes</TITLE></HEAD>");
out.println("");
if((id[0]==0)||(id[1]==0)||(id[2]==0)||(id[3]==0)||(id[4]==0) )
{
if((id[0]==0)||(id[1]==0)||(id[2]==0)||(id[3]==0))
{
if((id[0]==0)||(id[1]==0)||(id[2]==0))
{
if((id[0]==0)||(id[1]==0))
{
if((id[0]==0))
{
out.println("Axe Temps: Selectionnez une Année
");
out.println("<form name='table' action ='ReqTableau'> <select name='annee' onChange ='document.table.submit()' ><option value=0></option>");
//Creer un objet StatementAxe
stmtTps = con.createStatement();
//Executer une requete SQL, obtenir un ResultSet rsTps stmtTps.executeQuery("SELECT ID,LIBEL_C FROM AXEMOD WHERE ID_AXE 2");
//Afficher le resultat sous forme d'une liste
while(rsTps.next())
{
out.println("<option value=" + rsTps.getBigDecimal("ID")+ ">" + rsTps.getString("LIBEL_C") + "</option>");
}

Voici le modeste code que je tente de faire marcher...
Pocuce
0
wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
23 août 2004 à 14:02
ben la tu remplis l'item 0, l'item 1 l'item 4 l'item 4, l'item 4

normal que 2 et 3 soit vide!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
piscuce Messages postés 17 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 9 septembre 2004
23 août 2004 à 14:47
Il ne me premplit pas l'item 4, il fait une boucle sur les 2 premiers controles et il ne va pas au delà....

public class ReqTableau extends HttpServlet
{

private Connection con ;

public void init() throws ServletException
{
try
{
// Charger (et donc enregistrer) le pilote JdbcOdbc
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

//Obtenir une connexion a la base de donnees
con = DriverManager.getConnection
("jdbc:odbc:SIROM", "ASSOALI","assoali");

}
catch (ClassNotFoundException e)
{
throw new UnavailableException
("Impossible de charger le pilote de la base de donnees");
}
catch(SQLException e)
{
throw new UnavailableException
("Impossible d'obtenir la connexion a la base de donnees");
}
}
protected void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
try
{
Statement stmtTps = null;
ResultSet rsTps = null;

Statement stmtFct = null;
ResultSet rsFct = null;

Statement stmtTch = null;
ResultSet rsTch = null;

Statement stmtEtm = null;
ResultSet rsEtm = null;

Statement stmtZgq = null;
ResultSet rsZgq = null;

int id[]= new int[5];

String jTps = req.getParameter("annee");//récuperation d'un parametre
int idTps = 0;
if(jTps!= null)
{
idTps = Integer.parseInt(jTps);
id[0]= idTps;
}

String jFct = req.getParameter("fonction");//récuperation d'un parametre
int idFct = 0;
if(jFct!= null)
{
idFct = Integer.parseInt(jFct);
id[1]= idFct;
}

String jTch = req.getParameter("charge");//récuperation d'un parametre
int idTch = 0;
if(jTch!= null)
{
idTch = Integer.parseInt(jTch);
id[4]= idTch;
}

String jEtm = req.getParameter("etablissement");//récuperation d'un parametre
int idEtm = 0;
if(jEtm!= null)
{
idEtm = Integer.parseInt(jEtm);
id[4]= idEtm;
}

String jZgq = req.getParameter("lieu");//récuperation d'un parametre
int idZgq = 0;
if(jZgq!= null)
{
idZgq = Integer.parseInt(jZgq);
id[4]= idZgq;
}
//int id[]={idTps,idFct,idTch,idEtm,idZgq};
res.setContentType("text/html");
PrintWriter out = res.getWriter();
out.println("<HTML><HEAD><TITLE>Listes des modalités des axes</TITLE></HEAD>");
out.println("");

if((id[0]==0)||(id[1]==0)||(id[2]==0)||(id[3]==0)||(id[4]==0) )
{
if((id[0]==0)||(id[1]==0)||(id[2]==0)||(id[3]==0))
{
if((id[0]==0)||(id[1]==0)||(id[2]==0))
{
if((id[0]==0)||(id[1]==0))
{
if((id[0]==0))
{
out.println("Axe Temps: Selectionnez une Année
");
out.println("<form name='table' action ='ReqTableau'> <select name='annee' onChange ='document.table.submit()' ><option value=0></option>");
//Creer un objet StatementAxe
stmtTps = con.createStatement();
//Executer une requete SQL, obtenir un ResultSet rsTps stmtTps.executeQuery("SELECT ID,LIBEL_C FROM AXEMOD WHERE ID_AXE 2");
//Afficher le resultat sous forme d'une liste
while(rsTps.next())
{
out.println("<option value=" + rsTps.getBigDecimal("ID")+ ">" + rsTps.getString("LIBEL_C") + "</option>");
}
}
else
{
out.println("Axe Fonction: Selectionnez une Fonction
");
out.println("<form name='table' action ='ReqTableau'> <select name='fonction' onChange ='document.table.submit()' ><option value=0></option>");
//Creer un objet StatementAxe
stmtFct = con.createStatement();
//Executer une requete SQL, obtenir un ResultSet rsFct stmtFct.executeQuery("SELECT ID,LIBEL_C FROM AXEMOD WHERE ID_AXE 4");
//Afficher le resultat sous forme d'une liste
while(rsFct.next())
{
out.println("<option value=" + rsFct.getBigDecimal("ID")+ ">" + rsFct.getString("LIBEL_C") + "</option>");
}
}
}
else
{
out.println("Axe Charges: Selectionnez un Type de charge
");
out.println("<form name='table' action ='ReqTableau'> <select name='charge' onChange ='document.table.submit()' ><option value=0></option>");
//Creer un objet StatementAxe
stmtTch = con.createStatement();
//Executer une requete SQL, obtenir un ResultSet rsTch stmtTch.executeQuery("SELECT ID,LIBEL_C FROM AXEMOD WHERE ID_AXE 5");
//Afficher le resultat sous forme d'une liste
while(rsTch.next())
{
out.println("<option value=" + rsTch.getBigDecimal("ID")+ ">" + rsTch.getString("LIBEL_C") + "</option>");
}
}

}
else
{
out.println("Axe Etablissement: Selectionnez un Etablissement
");
out.println("<form name='table' action ='ReqTableau'> <select name='etablissement' onChange ='document.table.submit()' ><option value=0></option>");
//Creer un objet StatementAxe
stmtEtm= con.createStatement();
//Executer une requete SQL, obtenir un ResultSet rsEtm stmtEtm.executeQuery("SELECT ID,LIBEL_C FROM AXEMOD WHERE ID_AXE 6");
//Afficher le resultat sous forme d'une liste
while(rsEtm.next())
{
out.println("<option value=" + rsEtm.getBigDecimal("ID")+ ">" + rsEtm.getString("LIBEL_C") + "</option>");
}
}

}
else
{
out.println("Axe Localisation: Selectionnez une Region
");
out.println("<form name='table' action ='ReqTableau'> <select name='lieu' onChange ='document.table.submit()' ><option value=0></option>");
//Creer un objet StatementAxe
stmtZgq = con.createStatement();
//Executer une requete SQL, obtenir un ResultSet rsZgq stmtZgq.executeQuery("SELECT ID,LIBEL_C FROM AXEMOD WHERE ID_AXE 7");
//Afficher le resultat sous forme d'une liste
while(rsZgq.next())
{
out.println("<option value=" + rsZgq.getBigDecimal("ID")+ ">" + rsZgq.getString("LIBEL_C") + "</option>");
}
}
}
else
{
HtmlResultSet result = new HtmlResultSet("SELECT ID,VALEUR,AXES,MODALITES FROM VALEUR WHERE MODALITES LIKE " +"'"+idTps+";"+idFct+";"+idTch+";"+idEtm+";"+idZgq+";"+"'",con);
//Affichage de la sortie
out.println("Voici le résultat correspondant aux axes choisis
");
out.println(result);
}
out.println("</select></FORM>");
out.println("</HTML>");
}

catch ( NumberFormatException e )
{
System.out.println( "String recup non convertible." );
//System.exit( 1 );
}
catch(SQLException e)
{
System.out.println("SQLException interceptée:" +e.getMessage());
}
}
}

Pocuce
0
wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
23 août 2004 à 15:13
bref il te renvoies une exception sur une des lignes

String jTch = req.getParameter("charge");//récuperation d'un parametre
int idTch = 0;
if(jTch!= null)
{
idTch = Integer.parseInt(jTch);

met un e.printStackTrace(); dans tes catch et regarde les ligne d'erreur.

je pense que jTch n'est pas un nombre.

sinon int jZgq = Integer.parseInt(req.getParameter("lieu"));
serais peut etre mieux non?
0
Rejoignez-nous