Java : retourner resultat liste dans requête

Résolu/Fermé
batbat52 Messages postés 118 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 21 mai 2012 - 20 mai 2011 à 13:56
Herezia Messages postés 70 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 28 août 2014 - 20 mai 2011 à 14:44
Bonjour bonjour

J'ai créer une liste qui affiche les données d'un champs d'une table, aussi j'aimerais récupérer le champs selectionner et inserer le resultat dans une autre requête mais je ne sais pas quoi mettre à la place des ?????????
Voici mon code, je suis un peut perdu avec ce html et ce java.... :s

 Statement requete = con.createStatement(); 
       		ResultSet resultat = requete.executeQuery("select distinct t.sDisplayName from DeviceType t, Device d where t.nDeviceTypeID=d.nDeviceTypeID and (d.nBestStateID=6 or d.nBestStateID=5 or d.nBestStateID=10);"); 
       		ResultSet affichage= requete.executeQuery("select * from Device where sDisplayName =??????")
		
			principal.outstr("<center><h1>Liste des equipements actifs :</h1></center>",false);
		
			principal.outstr("<center>Veuillez choisir une categorie d'equipement : <FORM><SELECT name=\"nom\" size=\"1\">",false);
			while(resultat.next()) {
	
				principal.outstr("<OPTION>"+resultat.getString(1),false);
				
			
			}
			
			principal.outstr("</SELECT> </FORM>",true);
			principal.outstr("</center>",true);
		
A voir également:

3 réponses

Herezia Messages postés 70 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 28 août 2014 11
20 mai 2011 à 14:05
Bonjour batbat52,

Avec JDBC, les saisies utilisateurs sont insérables dans des requêtes paramétrées qui s'appellent PreparedStatement
Pour plus d'information : https://java.developpez.com/faq/jdbc?page=Les-instructions-parametrees-moins-PreparedStatement#defPreparedStatement

Dans ton cas, il faudra récupérer le paramètre (la sélection utilisateur sur ton <select />) avec HTTPServletRequest#getParameter et appeler un PreparedStatement#setString avec la valeur que tu auras récupéré
0
batbat52 Messages postés 118 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 21 mai 2012 9
Modifié par batbat52 le 20/05/2011 à 14:22
je sais que j'en demande beaucoup mais si tu as le temps pourrais tu me faire un petit exemple stp
Merci bcp deja pr ces info ;)
0
Herezia Messages postés 70 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 28 août 2014 11
20 mai 2011 à 14:32
De tête je dirais

Object selectedDisplayedNames = request.getParameter("nameDeTonSelect");
// Les select sont envoyés comme des tableaux de String si je me souviens bien...
if (selectedDisplayedNames instanceof String[] && ((String[])selectedDisplayedNames).length > 0) {
    // On prend le premier élément sélectionné de la liste
    String selectedDisplayedName = ((String[])selectedDisplayedNames)[0];
    preparedStatmntProjectionEquipements.setString(tonIndiceDeParametre, selectedDisplayedName);
}

Où tonIndiceDeParametre est l'indice base 1 de ton ? dans le WHERE de ta requête SELECT,
et preparedStatmntProjectionEquipements ta requête qui retourne les équipements

Je te laisse chercher pour la suite, c'est bien d'être mis sur la voie mais on apprend pas en buvant le code des autres

Attention : code non vérifié
0
batbat52 Messages postés 118 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 21 mai 2012 9
20 mai 2011 à 14:34
oui oui merci bcp :)
0
Herezia Messages postés 70 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 28 août 2014 11
20 mai 2011 à 14:44
Résolu ?
0