Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DouglasCar

Problemas com select em um cadastro

Recommended Posts

Pessoal, tenho um problema com dois campos selectBox onde o segundo campo depende do que for selecionado no primeiro. São campos de uma tela de cadastro. Para estes dois campos eu tenho as tabelas Empresa e Grupo, sendo que para uni-las eu tenho o campo codgrupo. Abaixo está o trecho de código:

<td align=left colspan=1>Grupo:</td>                     <td align=left colspan=1><select name="grupo">                     <%SQL  = "SELECT * from grupo order by nome";                     Statement stmt = conn.createStatement();                     ResultSet rs = stmt.executeQuery(SQL);                     while (rs.next()){                         String nomegrupo = rs.getString(2);%>                                           <option value="<%=nomegrupo%>"><%=nomegrupo%></option>                                                <%}                     rs.close();                     stmt.close();                     conn.close();                     %></select></td>                     <td align=left colspan=1>Empresa:</td>                     <td align=left colspan=1><select name="empresa">                     <%SQL2  = "SELECT * from empresa order by nome";                     Statement stmt2 = conn2.createStatement();                     ResultSet rs2 = stmt2.executeQuery(SQL2);                     while (rs2.next()){                         String nomeempresa = rs2.getString(3);%>                                           <option value="<%=nomeempresa%>"><%=nomeempresa%></option>                                                <%}                     rs2.close();                     stmt2.close();                     conn2.close();                     %></select></td>

 

Como eu poderia fazer para pegar a variável codgrupo do grupo selecionado no primeiro select e jogar para selecionar a empresa correspondente no outro. Agradeço se alguém puder me dar uma ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pessoal, consegui resolver parcialmente o problema. Acontece que agora quando seleciono o grupo me é retornada a mesma tela só que com o selectBox do grupo vazio. O código é o seguinte:

function atualizaDados() {    grupo = form1.Grupo.value;  location.href='cadMovimento.jsp?grupo='+grupo;} function atualizaDados2() {  grupo = form1.Grupo.value;  empresa = form1.Empresa.value;  location.href='cadMovimento.jsp?grupo='+grupo+'&empresa='+empresa;} out.println("<td align=left colspan=1>Grupo:</td> <td> <SELECT name='Grupo' onchange='atualizaDados()'>");                if (grupo == null) {                     SQL  = " select distinct G.nome, G.codgrupo from grupo G, empresa E ";                    SQL += " where E.codgrupo=G.codgrupo ";                     out.println("<option value=null>Selecione o Grupo</option>");                     Statement stmt = conn.createStatement();                    ResultSet rs = stmt.executeQuery(SQL);                     while(rs.next()){                        out.println("<option value= " + rs.getString("codgrupo") + ">"+rs.getString("nome"));                     }                    rs.close();                    stmt.close();                } else {                        String nome = "";                         SQL = " select distinct nome from grupo where codgrupo= "+grupo;                         Statement stmt = conn.createStatement();                        ResultSet rs = stmt.executeQuery(SQL);                        String codgrupo = rs.getString("codgrupo");                         if (rs.next()){                            nome = rs.getString(2);                        }                        out.println("<option selected value="+codgrupo+">"+nome+"</option>");                        out.println("codgrupo" + codgrupo);                        out.println("nome" + nome);                        rs.close();                        stmt.close();                                                SQL  = " select distinct G.nome, G.codgrupo from grupo G, empresa E ";                        SQL += " where G.codgrupo=E.codgrupo and E.codgrupo <>" +codgrupo;                         stmt = conn.createStatement();                        rs = stmt.executeQuery(SQL);                         while(rs.next()){                            out.println("<option value= " + rs.getString("codgrupo") + ">"+rs.getString("nome"));                        }                        rs.close();                        stmt.close();                    }                    out.println("</SELECT>");                    out.println("</td></tr><br>");                     int cont=1;                    if ((empresa==null) && (grupo!=null)){                         SQL = " select distinct E.nome, E.codgrupo from grupo G, empresa E";                        SQL += " where G.codgrupo=E.codgrupo and G.codgrupo="+grupo;                         Statement stmt = conn.createStatement();                        ResultSet rs = stmt.executeQuery(SQL);                         cont=1;                        while (rs.next()){                            if (cont==1){                                out.println("<td align=left colspan=1>Empresa:</td> <td> <SELECT name='Empresa' onchange='atualizaDados2()'>");                                out.println("<option value=0>Selecione a Empresa</option>");                            }                            out.println("<option value="+rs.getString("codempresa")+">"+rs.getString("nome")+"</option>");                            cont++;                         }                                                out.println("</select><br>");                    }                    else{                              SQL  = " select distinct E.nome, E.codgrupo from grupo G, empresa E";                            SQL += " where G.codgrupo=E.codgrupo and G.codgrupo="+grupo;                              Statement stmt = conn.createStatement();                            ResultSet rs = stmt.executeQuery(SQL);                            String codempresa = rs.getString("codempresa");                            out.println(codempresa);                             cont=1;                            while (rs.next()){                                if (cont==1){                                    out.println("<td align=left colspan=1>Empresa:</td> <td> <SELECT name='Empresa' onchange='atualizaDados2()'>");                                                                          }                                if (rs.getString("codempresa").equals(empresa)){                                    out.println("<option SELECTED value="+rs.getString("codempresa")+">"+rs.getString("nome")+"</option>");                                }                                else{                                        out.println("<option value="+rs.getString("codempresa")+">"+rs.getString("nome")+"</option>");                                }                                cont++;                             }                            out.println("</select><br>");                    }%>

 

 

Agradeço se alguém puder me dar uma dica do que pode estar ocorrendo. Pois o que deveria ser retornado ao selecionar o grupo seria o selectBox da empresa com as empresas correspondentes ao grupo selecionado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.