Rechercher : dans
Par :

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

Dernière réponse le 26 oct 2009 à 17:10:46 jérémy, le 25 jui 2005 à 12:06:24 
 Signaler ce message aux modérateurs

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");
}
}

1

HackTrack, le 25 jui 2005 à 14:49:28
  • +1

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

Répondre à HackTrack

2

jérémy, le 25 jui 2005 à 16:00:19

Merci beaucoup

ça marche

a+ et encore merci

Répondre à jérémy

3

savio, le 23 mar 2009 à 11:11:41

Bonjour,
Monsieur Jérémie, es que vous pouvez partager le code d'authentification java?
merci d'avance

Répondre à savio

4

 DEUST2675, le 26 oct 2009 à 17:10:46

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();
%>

Répondre à DEUST2675