2012-10-29 4 views
2

J'ai un cas où je dois obtenir le total de tous les éléments de liste déroulante. Je suis capable de le réaliser individuellement. et le ci-dessous est le code qui a fonctionné pour la sélection individuelle.Comment obtenir toutes les valeurs de liste déroulante

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JSP Page</title> 
</head> 
<body><form name="Reports" method="post" action="Reports.jsp"><table><tr><td> 
    Select user:<select name="user" id="user"> 
     <option value="">Select User</option> 
     <option value="Rakesh">Rakesh</option> 
     <option value="Hari">Hari</option> 
    </select></td><td> 
    Select Type:<select name="type" id="type"> 
     <option value="'Updates','Multibases','DAIS','Acds','Legis','LegAll'">All</option> 
     <option value="Updates">Updates</option>  
     <option value="Multibases">Multibases</option> 
     <option value="DAIS">DAIS</option> 
     <option value="Acds">Admin Codes</option> 
     <option value="Legis">Legis</option> 
     <option value="LegAll">Legis-All</option> 
      </select></td> 
      <td><input type="submit" value="Generate" id="sub1" name="sub1"></td></tr> 
    </table> </form> </body> 

et jsp est inférieure à

<%-- 
Document : Reports 
Created on : Oct 25, 2012, 4:53:23 PM 
Author  : u0138039 
--%> 

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@include file="DBCon.jsp" %> 
<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 

</head> 
<body><table> 
    <% 

    String[] a=request.getParameterValues("type"); 
    String b=request.getParameter("user"); 
    try{ 
     ps=con.prepareStatement("Select * from Scope1"); 

     ps=con.prepareStatement("SELECT SUM(Update_Count) FROM Scope1 where type ='"+a+"' and Specialist='"+b+"'"); 
     rs=ps.executeQuery(); 
     while(rs.next()) 
          {%> 
          <tr> 
           <td><%=a%>:</td><td> 
           <%=rs.getString(1)%> 
           </td></tr> 
     <% } 

        } 
    catch(Exception e) 
    { 
     out.println(e); 
} 
%> 


et de récupérer toutes les valeurs dans le menu déroulant i utilise le code sql ci-dessous

SELECT SUM(Update_Count) FROM Scope1 where type IN ('All','Updates','Multibases','DAIS','Acds','Legis','LegAll') and Specialist='b'; 

et de récupérer individuellement i utiliser le code ci-dessous

ps=con.prepareStatement("SELECT SUM(Update_Count) FROM Scope1 where type IN ('"+a+"') and Specialist='"+b+"'"); 

je veux que ce soit dans une seule déclaration et je veux la sortie à afficher dans un format de table lorsque je sélectionne tous.

Merci

Répondre

1

Un problème que je vois est dans cette déclaration

ps=con.prepareStatement("SELECT SUM(Update_Count) FROM Scope1 
where type ='"+a+"' and Specialist='"+b+"'"); 

parce a est de type tableau et lorsque vous attribuez que, dans l'instruction SQL ci-dessus vous avez mentionné que a sans index de tableau. Par conséquent, cette instruction SQL doit échouer.

String[] a=request.getParameterValues("type"); 

Modifier

Je pouvais voir un autre problème qui est

<%=rs.getString(1)%> 

vous devez utiliser

<%=rs.getInt(1)%> 

parce SELECT SUM(Update_Count) numéro de retour, donc getString vous donnera une erreur.

0

je crois que vous devez régler la requête pour retirer la colonne de type, et comprennent un groupe par. Cela vous donnera ensuite plusieurs lignes dans le jeu de résultats. Vous devrez ajuster par programme ce qui est dans la clause IN, selon le cas.

SELECT SUM (Update_Count), tapez FROM Scope1 où tapez IN ('All', 'Updates', 'Multibases', 'DAIS', 'Acds', 'Legis', 'LegAll') et Specialist = 'b ' groupe par type;

+0

merci pour la réponse mec, mais quand j'essaye de faire un groupe par c'est juste de donner une page blanche en sortie. – Rakesh

+0

@Rakesh êtes-vous sûr de pouvoir extraire les valeurs de la base de données? – user75ponic

+0

lorsque j'utilise la requête séparément je suis capable de, il travaille aussi en sql. – Rakesh

Questions connexes