Problema com Jtable(Resolvido)

2 respostas
E

Bom Dia pessoal!
tenho a seguinte duvida
Eu tenho 3 Tabelas de um BD:

Func_Listas : cod, cod_listas, mat_func, setor
Listas :cod, local, data, carga_horaria, cod_tr
Treinamentos :cod, descricao

A Func_Listas herda o cod da Listas que seria (cod_listas).
E de acordo com esse cod_listas eu pego o cod_tr da Tabela Listas, e busco na tabela Treinamentos.

Então eu estou fazendo uma procura por setor, onde ele pegar o cod_listas e procura o cod_tr da tabela Listas, onde de acordo com esse cod_tr eu pegaria a descrição da tabela Treinamentos.

Só que eu não consigo, porque cada setor pode ter N cod_listas.
Vou postar o código para vocês

String sql="select * from Func_Listas where setor='"+l.getSetor()+"'";
            PreparedStatement ps = con.prepareStatement(sql);
            ResultSet rs = ps.executeQuery();

               while(m.getRowCount()>0){
                m.removeRow(m.getRowCount()-1);
                }
            while(rs.next()){
                String sql2="select * from Listas where cod_tr='"+rs.getString("cod_listas")+"'";
                PreparedStatement ps2 = con.prepareStatement(sql2);
                ResultSet rs2 = ps2.executeQuery();
               while(rs2.next()){
               String sql3="select * from Treinamentos where cod='"+rs2.getString("cod_tr")+"'";
               PreparedStatement ps3 = con.prepareStatement(sql3) ;
               ResultSet rs3 = ps3.executeQuery();
               
               while(rs3.next()){
                m.addRow(new String[]{
             rs.getString("setor"),
             rs3.getString("descricao"),
             rs2.getString("data"),
             rs2.getString("carga_horaria")
             
                     });
             }
            }}

Será que alguem pode me ajudar?

Obrigado!

2 Respostas

mews

Se está resolvido, coloque a sua solução aqui para que outros possam ter acesso.

E

Na Realidade era apenas erros de lógica.
Era assim:

String sql2="select * from Listas where cod_tr='"+rs.getString("cod_listas")+"'";

Deveria ser assim:

String sql2="select * from Listas where cod='"+rs.getString("cod_listas")+"'";

Maravilha?
Besteira minha postar, mas estava desde ontem a tarde sem ver, que era no meu sql.
Obrigado pela atenção.

Criado 30 de dezembro de 2010
Ultima resposta 30 de dez. de 2010
Respostas 2
Participantes 2