Dúvidas Jtree com duas tabelas do banco de dados

1 resposta
P

Pessoal, tudo bem.

Estou necessitando criar um jtree que trás os dados de duas tabelas no banco de dados, ja fiz alguns jtrees mas esse eu travei. Os dados são os seguintes tenho uma função no sw de controle de estoque, ao abrir o jinternalframe, eu preciso carregar no jtree dados do distribuidor e no nó dele os produtos. Por exemplo: supermercados Carrefour:
açúcar, café, produtos de limpeza; Kalunga: papel, cartuchos. etc

visualizando ficaria algo desse jeito:

Estoque
Fornecedores
Supermercados Carrefour
Açúcar União
Café Pilão
Kalunga
Papel A4
Cartucho HP094

protected DefaultMutableTreeNode top=new DefaultMutableTreeNode("Estoque");  
  
public DefaultMutableTreeNode fornecedor, prod;  
  
b.createNodes(top, "select * from fornecedor,produtos order by fornecedor.razao and fornecedor.cod");

1 Resposta

P
Resilvido segem os códigos:
arvore.removeAll();
        arvore.removeSelectionInterval(0, arvore.getRowCount());
        b=new buscaDados(this);
        b.getFornecedores("select * from fornecedor order by cod and razao");
        criarNodes();
private void criarNodes()
     {
         String forn[],prd[];
        if(!b.fornecedores.isEmpty())
        {
            forn= b.fornecedores.toArray(new String[b.fornecedores.size()]);

            for(int i=0;i<b.fornecedores.size();i++)
            {
                fornecedor = new DefaultMutableTreeNode(forn[i]);
                b.getProdutos("SELECT * FROM produtos WHERE fornecedor LIKE '"+forn[i]+"'");
                {
                    if(!b.produtos.isEmpty())
                    {
                        prd =  b.produtos.toArray(new String[b.produtos.size()]);
                        for (int p=0;p<b.produtos.size();p++)
                        {
                            prod= new DefaultMutableTreeNode(prd[p]);
                            fornecedor.add(prod);
                        }
                        
                    }
                    else{}                    
                }
                top.add(fornecedor);
            }            
        }
        else{}

         arvore.setModel(new javax.swing.tree.DefaultTreeModel(top));
     }

buscaDados b- classe de persistência;

public void getFornecedores(String sql)
    {        
        try
        {       
                Class.forName(driver);
                con = DriverManager.getConnection(url, user, pass);
                stmt = con.createStatement();
                rs= stmt.executeQuery(sql);
                fornecedores.clear();
                r=0;
                while(rs.next())
                {
                    fornecedores.add(rs.getString("fornecedor.razao"));

                }
                con.close();
        }
        catch(Exception er)
        {
            System.out.println(er);
        }
    }

    public void getProdutos(String sql)
    {
            try
            {
                Class.forName(driver);
                con = DriverManager.getConnection(url, user, pass);
                stmt = con.createStatement();
                rs= stmt.executeQuery(sql);
                produtos.clear();
                int i=0;
                while(rs.next())
                {
                    produtos.add(rs.getString("produtos.nome"));
                }
                
                con.close();
            }
            catch(Exception erro)
            {
                System.err.println(erro);
            }
            
    }
Criado 17 de maio de 2011
Ultima resposta 17 de mai. de 2011
Respostas 1
Participantes 1