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

jérémy -  
 DEUST2675 -
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 réponse

  1. Utilisateur anonyme
     
    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
    1. jérémy
       
      merci beaucoup

      ça marche

      a+ et encore merci
      0
      1. savio > jérémy
         
        Bonjour,
        Monsieur Jérémie, es que vous pouvez partager le code d'authentification java?
        merci d'avance
        0
    2. DEUST2675
       
      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