Posez votre question Signaler

[java]objet resultset d'une requête SQL

jérémy - Dernière réponse le 26 oct. 2009 à 17:10
Bonjour à tous!!!!

Je développe actuellement une application en java.

J'execute une requête de select toute bête et le problème, c'est que je voudrais executer une instruction dans le cas ou l'objet resultset est vide. Je ne sais pas du tout comment faire alors si l'un de vous peux m'aider SVP.

Merci beaucoup d'avance

voici la portion de mon code:


String SQLString=("SELECT rtrim(PASSWORD) AS PASSWORD, rtrim(DROIT) AS DROIT FROM "+ nom_table+" WHERE LOGIN='"+Lg+"' ");

ResultSet Rs= ListeSAL.executeQuery(SQLString);

// C'est à cet endroit que je veux exécuter l'instruction dans le cas ou le resultset est vide

while(Rs.next())
{
out.print(Rs.getString("PASSWORD"));
String MDP = Rs.getString("PASSWORD");
out.print(MDP);

if(Rs.getString("PASSWORD").equals(Pw))
{
out.print("ok");


if(Rs.getString("DROIT").equals("Utilisateur"))
{
routeURL = "menu_utilisateur.jsp";
session.setAttribute("NOM",Lg);
session.setAttribute("PWD",Pw);

// out.print(routeURL);
}

else if(Rs.getString("DROIT").equals("Responsable"))
{
routeURL = "menu_responsable.jsp";
// out.print(routeURL);
}
else if(Rs.getString("DROIT").equals("Administrateur"))
{
routeURL = "menu_administrateur.jsp";
// out.print(routeURL);
}

}
else
{
// out.print("NOK");
}
}
Lire la suite 

[java]objet resultset d'une requête SQL »

4 réponses
Réponse
+6
moins plus
String SQLString =
	("SELECT rtrim(PASSWORD) AS PASSWORD, rtrim(DROIT) AS DROIT FROM " + nom_table + " WHERE LOGIN='" + Lg + "' ");

ResultSet Rs = ListeSAL.executeQuery(SQLString);

//Par défaut, on dit qu'il est vide
boolean isEmpty = true;

while (Rs.next()) {
//	Si tu rentres une seule fois dans la boucle, le ResultSet n'est pas vide
	isEmpty = false;
	out.print(Rs.getString("PASSWORD"));
	String MDP = Rs.getString("PASSWORD");
	out.print(MDP);

	if (Rs.getString("PASSWORD").equals(Pw)) {
		out.print("ok");

		if (Rs.getString("DROIT").equals("Utilisateur")) {
			routeURL = "menu_utilisateur.jsp";
			session.setAttribute("NOM", Lg);
			session.setAttribute("PWD", Pw);

			//	   out.print(routeURL); 
		} else if (Rs.getString("DROIT").equals("Responsable")) {
			routeURL = "menu_responsable.jsp";
			//	   out.print(routeURL); 
		} else if (Rs.getString("DROIT").equals("Administrateur")) {
			routeURL = "menu_administrateur.jsp";
			//	   out.print(routeURL); 
		}

	} else {
		//	   out.print("NOK"); 
	}
}

if(isEmpty){
	//Insère ici tes lignes de code à exécuter si le ResultSet est vide
}



;-)
HackTrack
jérémy - 25 juil. 2005 à 16:00
merci beaucoup

ça marche

a+ et encore merci
savio - 23 mars 2009 à 11:11
Bonjour,
Monsieur Jérémie, es que vous pouvez partager le code d'authentification java?
merci d'avance
DEUST2675 - 26 oct. 2009 à 17:10
Bonjour,

j'ai le même problème sauf que pour moi la solution que tu as donné ne fonctionne pas.
En fait, il ne rentre jamais dans la boucle "while result.next()".
Voici mon code:

<%@ include file="db_connection.jsp"%>
<%

//Récupération de l'idconcept c'est à dire l'id du terme français
String id_preflabel = request.getParameter("idconcept");

out.println("<p>Etape1 : ok</p>");

//Selection du libelle qui a l'idconcept récupéré
//Si idconcept=0, pas de terme récupéré = champs vide

String query = "SELECT idconcept,libelle FROM preflabel WHERE idconcept="+id_preflabel;

out.println("<p>Etape2 : ok</p>");

ResultSet result = state.executeQuery(query);

out.println("<p>Etape3 : ok</p>");

while (result.next()){

out.println("<p>Etape4 : ok</p>");

//Récupération dans des variables de l'idconcept et du libelle
String libelle = result.getString("libelle");
String idconcept = result.getString("idconcept");

out.println("<p>Etape5 : ok</p>");

//Affichage du formulaire
out.println("<div class='form_saisie'>");
out.println("<input type='hidden' name='idconcept' value='"+idconcept+"' />");
out.println("TERME : <input type='text' name='terme_français' value='"+libelle+"' size='30' maxlength='20' />");
out.println("</div>");
}
}

connect.close();
state.close();
result.close();
%>
Ajouter un commentaire
Ce document intitulé « [java]objet resultset d'une requête SQL » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?