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

Fermé
jérémy - 25 juil. 2005 à 12:06
 DEUST2675 - 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");
}
}
A voir également:

1 réponse

Utilisateur anonyme
25 juil. 2005 à 14:49
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
10
merci beaucoup

ça marche

a+ et encore merci
0
savio > jérémy
23 mars 2009 à 11:11
Bonjour,
Monsieur Jérémie, es que vous pouvez partager le code d'authentification java?
merci d'avance
0
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();
%>
0