
celomorais
Membros-
Total de itens
3 -
Registro em
-
Última visita
Sobre celomorais

celomorais's Achievements
0
Reputação
-
Ae galerinha, gostaria de um help, tenho o código abaixo, e duas tabelas no meu mysql (Clientes com os campos id, nome e telefone, Encomendas com os campos encomenda, quantidade e data), no java tenho o jframe para consultar clientes e suas respectivas encomendas, porém no jframe eu adicionei uma tabela o "jtable" para poder lista as encomendas daquele clientes, quando iniciou o código ele seleciona a tabela cliente, dai eu posso preencher no campo de texto o nome e o telefone, o problema é que quando vou selecionar as encomendas daquele cliente, preciso selecionar a tabela encomendas e não consigo preencher a "jtable" no jframe segue o código /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /* * Consulta.java * * Created on 20/03/2011, 10:55:03 */ package consultas; import TelaPrincipal.TelaPrincipal; import utilitarios.conexao; import javax.swing.*; import java.sql.*; import javax.swing.table.DefaultTableModel; /** * * @author CeLo */ public class Consulta extends javax.swing.JFrame { int navega = 0; //apenas para sabermos em qual botao foi clicado conexao consulta; private Connection conexao; /** Creates new form Consulta */ public Consulta() { initComponents(); consulta = new conexao(); consulta.conecta(); consulta.executeSQL("select * from clientes"); campo_codigo.setEditable(false); campo_nome.setEditable(false); campo_telefone.setEditable(false); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { titulo = new javax.swing.JLabel(); nome = new javax.swing.JLabel(); telefone = new javax.swing.JLabel(); campo_nome = new javax.swing.JTextField(); campo_telefone = new javax.swing.JTextField(); voltar = new javax.swing.JButton(); primeiro = new javax.swing.JButton(); anterior = new javax.swing.JButton(); proximo = new javax.swing.JButton(); ultimo = new javax.swing.JButton(); excluir = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); tabela = new javax.swing.JTable(); codigo = new javax.swing.JLabel(); campo_codigo = new javax.swing.JTextField(); botao_editar = new javax.swing.JButton(); botao_ok = new javax.swing.JButton(); botao_pesquisa = new javax.swing.JButton(); campo_pesquisa = new javax.swing.JTextField(); pesquisa = new javax.swing.JLabel(); setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE); setTitle("CONSULTA DE CLIENTES"); titulo.setFont(new java.awt.Font("Copperplate Gothic Bold", 1, 14)); // NOI18N titulo.setIcon(new javax.swing.ImageIcon("D:\\JAVA\\imagens\\hamburg\\customers.png")); // NOI18N titulo.setText("CONSULTA DE CLIENTES"); nome.setFont(new java.awt.Font("Copperplate Gothic Bold", 0, 12)); nome.setText("Nome:"); telefone.setFont(new java.awt.Font("Copperplate Gothic Bold", 0, 12)); telefone.setText("Tel.:"); voltar.setIcon(new javax.swing.ImageIcon("D:\\JAVA\\imagens\\http___iconesbr.oficinadanet.com_7000_32x32.png")); // NOI18N voltar.setText("VOLTAR"); voltar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { voltarActionPerformed(evt); } }); primeiro.setIcon(new javax.swing.ImageIcon("D:\\JAVA\\imagens\\first.png")); // NOI18N primeiro.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { primeiroActionPerformed(evt); } }); anterior.setIcon(new javax.swing.ImageIcon("D:\\JAVA\\imagens\\http___iconesbr.oficinadanet.com_7856_32x32.png")); // NOI18N anterior.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { anteriorActionPerformed(evt); } }); proximo.setIcon(new javax.swing.ImageIcon("D:\\JAVA\\imagens\\http___iconesbr.oficinadanet.com_7854_32x32.png")); // NOI18N proximo.setMinimumSize(new java.awt.Dimension(119, 41)); proximo.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { proximoActionPerformed(evt); } }); ultimo.setIcon(new javax.swing.ImageIcon("D:\\JAVA\\imagens\\last.png")); // NOI18N ultimo.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { ultimoActionPerformed(evt); } }); excluir.setIcon(new javax.swing.ImageIcon("D:\\JAVA\\imagens\\http___iconesbr.oficinadanet.com_3576_32x32.png")); // NOI18N excluir.setText("EXCLUIR"); excluir.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { excluirActionPerformed(evt); } }); tabela.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { {null, null, null} }, new String [] { "Encomenda", "Quantidade", "Data" } ) { boolean[] canEdit = new boolean [] { false, false, false }; public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }); tabela.setEnabled(false); tabela.setPreferredSize(new java.awt.Dimension(300, 160)); jScrollPane1.setViewportView(tabela); tabela.getColumnModel().getColumn(0).setResizable(false); tabela.getColumnModel().getColumn(0).setPreferredWidth(20); tabela.getColumnModel().getColumn(1).setResizable(false); tabela.getColumnModel().getColumn(1).setPreferredWidth(20); tabela.getColumnModel().getColumn(2).setResizable(false); tabela.getColumnModel().getColumn(2).setPreferredWidth(10); codigo.setFont(new java.awt.Font("Copperplate Gothic Bold", 0, 12)); codigo.setText("Registro:"); botao_editar.setIcon(new javax.swing.ImageIcon("D:\\JAVA\\imagens\\cologne\\edit.png")); // NOI18N botao_editar.setText("EDITAR "); botao_editar.setMaximumSize(new java.awt.Dimension(117, 41)); botao_editar.setMinimumSize(new java.awt.Dimension(117, 41)); botao_editar.setPreferredSize(new java.awt.Dimension(117, 41)); botao_editar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { botao_editarActionPerformed(evt); } }); botao_ok.setIcon(new javax.swing.ImageIcon("D:\\JAVA\\imagens\\cologne\\check.png")); // NOI18N botao_ok.setText("OK"); botao_ok.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { botao_okActionPerformed(evt); } }); botao_pesquisa.setIcon(new javax.swing.ImageIcon("D:\\JAVA\\imagens\\cologne\\search.png")); // NOI18N botao_pesquisa.setText("PESQUISAR"); botao_pesquisa.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { botao_pesquisaActionPerformed(evt); } }); pesquisa.setFont(new java.awt.Font("Copperplate Gothic Bold", 0, 12)); pesquisa.setText("PESQUISA:"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(voltar) .addGroup(layout.createSequentialGroup() .addComponent(codigo) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(campo_codigo, javax.swing.GroupLayout.DEFAULT_SIZE, 53, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))) .addGap(59, 59, 59) .addComponent(titulo) .addGap(121, 121, 121)) .addGroup(layout.createSequentialGroup() .addComponent(primeiro) .addGap(18, 18, 18) .addComponent(anterior) .addGap(18, 18, 18) .addComponent(proximo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(ultimo) .addGap(18, 18, 18) .addComponent(excluir)) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(layout.createSequentialGroup() .addComponent(pesquisa) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(campo_pesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, 174, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(botao_pesquisa) .addContainerGap(92, Short.MAX_VALUE)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(telefone) .addComponent(nome)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(campo_telefone, javax.swing.GroupLayout.DEFAULT_SIZE, 185, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(botao_editar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(botao_ok)) .addComponent(campo_nome, javax.swing.GroupLayout.PREFERRED_SIZE, 307, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(54, 54, 54)))) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(voltar) .addComponent(titulo)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(pesquisa) .addComponent(campo_pesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(11, 11, 11) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(campo_codigo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(codigo))) .addComponent(botao_pesquisa)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(nome) .addComponent(campo_nome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(telefone) .addComponent(campo_telefone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(botao_editar, javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE) .addComponent(botao_ok, javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 183, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(ultimo) .addComponent(proximo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(anterior) .addComponent(primeiro) .addComponent(excluir)) .addContainerGap()) ); java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); setBounds((screenSize.width-490)/2, (screenSize.height-483)/2, 490, 483); }// </editor-fold> private void proximoActionPerformed(java.awt.event.ActionEvent evt) { try { consulta.resultset.next(); mostra_dados(); navega = 2; } catch(SQLException erro) { JOptionPane.showMessageDialog(null,"Não possível ir para o próximo" + "registro" + erro); } } private void primeiroActionPerformed(java.awt.event.ActionEvent evt) { try { consulta.resultset.first(); mostra_dados(); } catch(SQLException erro) { JOptionPane.showMessageDialog(null,"Não foi possível ir para o primeiro" + "registro" + erro); } } private void ultimoActionPerformed(java.awt.event.ActionEvent evt) { try { consulta.resultset.last(); mostra_dados(); } catch(SQLException erro) { JOptionPane.showMessageDialog(null,"Não foi possível ir para o último" + "registro" + erro); } } private void anteriorActionPerformed(java.awt.event.ActionEvent evt) { try { consulta.resultset.previous(); mostra_dados(); navega = 1; } catch(SQLException erro) { JOptionPane.showMessageDialog(null,"Não foi possível ir para o registro " + "anterior" + erro); } } private void excluirActionPerformed(java.awt.event.ActionEvent evt) { try { String sql = "select * from clientes Where id = "+campo_codigo.getText(); consulta.executeSQL(sql); consulta.resultset.first(); String nome1 = "Deletar " + consulta.resultset.getString("nome")+" ?"; int opcao_escolhida = JOptionPane.showConfirmDialog(null,nome1,"Exclusão ",JOptionPane.YES_NO_OPTION); if (opcao_escolhida == JOptionPane.YES_OPTION) { sql = "DELETE FROM clientes Where id =" +campo_codigo.getText(); int conseguiu_excluir = consulta.statement.executeUpdate(sql); if (conseguiu_excluir == 1) { JOptionPane.showMessageDialog(null, "Exclusão realizada com sucesso"); //Atualizado o resultset consulta.executeSQL("Select * from clientes"); consulta.resultset.first(); mostra_dados(); } } else return; } catch(SQLException erro) { JOptionPane.showMessageDialog(null, "Erro ao tentar excluir registro" + erro); } } private void voltarActionPerformed(java.awt.event.ActionEvent evt) { new TelaPrincipal().setVisible(true); dispose(); } private void botao_editarActionPerformed(java.awt.event.ActionEvent evt) { campo_nome.setEditable(true); campo_telefone.setEditable(true); } private void botao_okActionPerformed(java.awt.event.ActionEvent evt) { try { String sql = "UPDATE clientes SET nome ='"+campo_nome.getText()+"',"+ "telefone = '"+campo_telefone.getText()+"' where id = " +campo_codigo.getText(); consulta.statement.executeUpdate(sql); JOptionPane.showMessageDialog(null, "Alteração realizada com sucesso"); //atualiza o resultset consulta.executeSQL("Select * from clientes"); consulta.resultset.first(); campo_nome.setEditable(false); campo_telefone.setEditable(false); mostra_dados(); } catch (SQLException erro) { JOptionPane.showMessageDialog(null, "Erro ao tentar ediatr registro" + erro); } } private void botao_pesquisaActionPerformed(java.awt.event.ActionEvent evt) { try { consulta.resultset.first(); String igual = "n"; int tamanho_pesquisa = campo_pesquisa.getText().length(); while( igual.equals("n")) { String pesquisado = consulta.resultset.getString("nome").substring(0,(tamanho_pesquisa)); if(pesquisado.equals(campo_pesquisa.getText())) { igual = "s"; } else consulta.resultset.next(); } campo_codigo.setText(consulta.resultset.getString("id")); mostra_dados(); } catch(SQLException erro) { JOptionPane.showMessageDialog(null, "Não foi possível localizar registro" + erro); } } /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new Consulta().setVisible(true); } }); } // Variables declaration - do not modify private javax.swing.JButton anterior; private javax.swing.JButton botao_editar; private javax.swing.JButton botao_ok; private javax.swing.JButton botao_pesquisa; private javax.swing.JTextField campo_codigo; private javax.swing.JTextField campo_nome; private javax.swing.JTextField campo_pesquisa; private javax.swing.JTextField campo_telefone; private javax.swing.JLabel codigo; private javax.swing.JButton excluir; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JLabel nome; private javax.swing.JLabel pesquisa; private javax.swing.JButton primeiro; private javax.swing.JButton proximo; private javax.swing.JTable tabela; private javax.swing.JLabel telefone; private javax.swing.JLabel titulo; private javax.swing.JButton ultimo; private javax.swing.JButton voltar; // End of variables declaration public void mostra_dados() { try { campo_nome.setText(consulta.resultset.getString("nome")); campo_telefone.setText(consulta.resultset.getString("telefone")); campo_codigo.setText(consulta.resultset.getString("id")); tabela.enable(false); preencher_tabela(); } catch(SQLException erro) { if (navega == 1) { JOptionPane.showMessageDialog(null,"Você já está no primeiro registro"); } else if(navega == 2) { JOptionPane.showMessageDialog(null, "Você já está no último registro"); } else { JOptionPane.showMessageDialog(null,"Não localizou os dados" + erro); } navega = 0; } } public void preencher_tabela() { tabela.getColumnModel().getColumn(0).setPreferredWidth(20); tabela.getColumnModel().getColumn(1).setPreferredWidth(20); tabela.getColumnModel().getColumn(2).setPreferredWidth(10); DefaultTableModel modelo = (DefaultTableModel)tabela.getModel(); modelo.setNumRows(0); try { //if(consulta.resultset.getString("nome").equals(campo_nome.getText())) //while(consulta.resultset.next()) modelo.addRow(new Object[]{consulta.resultset.getString("Nome"),consulta.resultset.getString("Telefone")}); } catch(SQLException erro) { JOptionPane.showMessageDialog(null, "Erro ao listar na tabela"); } } }
-
Caro amigo, tente utilizar esse codigo aqui, sou novato, mas eu conseguir prencher a tabela com esse codigo, sendo que 0-2 são 3 colunas public void preencher_tabela() { tabela.getColumnModel().getColumn(0).setPreferredWidth(20); tabela.getColumnModel().getColumn(1).setPreferredWidth(20); tabela.getColumnModel().getColumn(2).setPreferredWidth(10); DefaultTableModel modelo = (DefaultTableModel)tabela.getModel(); modelo.setNumRows(0); try { while(consulta.resultset.next()) modelo.addRow(new Object[]{consulta.resultset.getString("Nome"),consulta.resultset.getString("Telefone")}); } catch(SQLException erro) { JOptionPane.showMessageDialog(null, "Erro ao listar na tabela"); } }
-
Consegui aqui mas tou com uma duvida. como tenho duas tabelas eu preciso acessar as duas tabelas ao mesmo tempo, dai eu uso i inner join, só que tenho o Jpanel onde tem campo texto que preencho acessando a tabela clientes e tem um Jtable que preencho acessando a tabela encomandas dai tudo beleza, mas quando eu coloco pra ele ir pro proximo registro ele não vai, ele só vai pro 1 registro e pro ultimo, nem proximo, nem anterior vou postar aki uma parte do codigo public Consulta() { initComponents(); consulta = new conexao(); consulta.conecta(); consulta.executeSQL("select * from clientes,encomendas"); campo_codigo.setEditable(false); campo_nome.setEditable(false); campo_telefone.setEditable(false); } private void proximoActionPerformed(java.awt.event.ActionEvent evt) { try { consulta.resultset.next(); mostra_dados(); navega = 2; } catch(SQLException erro) { JOptionPane.showMessageDialog(null,"Não possível ir para o próximo" + "registro" + erro); } } private void primeiroActionPerformed(java.awt.event.ActionEvent evt) { try { consulta.resultset.first(); mostra_dados(); } catch(SQLException erro) { JOptionPane.showMessageDialog(null,"Não foi possível ir para o primeiro" + "registro" + erro); } } private void ultimoActionPerformed(java.awt.event.ActionEvent evt) { try { consulta.resultset.last(); mostra_dados(); } catch(SQLException erro) { JOptionPane.showMessageDialog(null,"Não foi possível ir para o último" + "registro" + erro); } } private void anteriorActionPerformed(java.awt.event.ActionEvent evt) { try { consulta.resultset.previous(); mostra_dados(); navega = 1; } catch(SQLException erro) { JOptionPane.showMessageDialog(null,"Não foi possível ir para o registro " + "anterior" + erro); } } public void mostra_dados() { try { campo_nome.setText(consulta.resultset.getString("nome")); campo_telefone.setText(consulta.resultset.getString("telefone")); campo_codigo.setText(consulta.resultset.getString("id")); tabela.enable(false); // preencher_tabela(); } catch(SQLException erro) { if (navega == 1) { JOptionPane.showMessageDialog(null,"Você já está no primeiro registro"); } else if(navega == 2) { JOptionPane.showMessageDialog(null, "Você já está no último registro"); } else { JOptionPane.showMessageDialog(null,"Não localizou os dados" + erro); } navega = 0; } } public void preencher_tabela() { tabela.getColumnModel().getColumn(0).setPreferredWidth(20); tabela.getColumnModel().getColumn(1).setPreferredWidth(20); tabela.getColumnModel().getColumn(2).setPreferredWidth(10); DefaultTableModel modelo = (DefaultTableModel)tabela.getModel(); modelo.setNumRows(0); try { // String sql ="select encomenda,quantidade,data from encomendas"+ // " where nome = '"+campo_nome.getText()+"'"; // consulta.executeSQL(sql); while(consulta.resultset.next()) { modelo.addRow(new Object []{consulta.resultset.getString("encomenda"),consulta.resultset.getString("quantidade"),consulta.resultset.getString("data")}); } //Atualiza o ResultSet //consulta.resultset = consulta.statement.executeQuery("Select * from clientes"); //consulta.executeSQL("Select * from clientes"); //consulta.resultset.first();//posiciona no 1 registro*/ } catch(SQLException erro) { JOptionPane.showMessageDialog(null, "Erro ao listar na tabela"); } }