Popular dados do BD em uma GRID

10 respostas
C

Olá colegas,

Sou iniciante em java(apenas 1 mês) e preciso fazer com que os dados que estão no meu BD fossem populados para uma grid(JTable) que coloquei no meu programa(formulário). Que ao abrir o programa caisse ali todos os dados. Gostaria de faze só o cod_cad e nome_cad para aprender como se faz.
Só não tenho idéia de como faz isso. Já tenho a conexão com meu BD mysql, mas isto eu não sei.

Fiz bastantes buscas e não encontrei muita coisa que conseguisse intender.

Alguem realmente poderia me ajudar?

Grato pela atenção.

10 Respostas

rodrigo.bossini

Nada melhor do que isso:

http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

lksJF

Olá, não sou muito experiente também, mas acho que posso ajudar

Faço da seguinte forma:

1 - Crie um modelo de tabela: public DefaultTableModel modeloTabela;

2 - Crie um vetor e vá adicionando as “linhas” ao modelo que voce criou até adicionar todos os registros que devem ser exibidos:

String[] dados = new String[2]; dados[0] = rs.getString("codCliente"); dados[1] = rs.getString("nomeCliente"); modeloTabela.addRow(dados);
Obs.: rs.getString() pq o valor está vindo de um ResultSet com os resultados de uma consulta SQL.

3 - Defina esse modelo ao objeto JTable que está usando (supondo que o modelo tenha sido criado no JFrame que voce está usando):

jTable1.setModel(modeloTabela());

Espero ter ajudado… pelo menos um pouco… :slight_smile:

Abraços…

C

rod.attack,

é verdade, mas não me do bem com inglês, pelo menos agora. :?

C

lksJF, me desculpe mas não intendi muito bem esse seu código, tu tem algum exemplo parecido com esse já pronto para eu me basear?

Grato.

lksJF

cipolatto,

Olá, tenho sim… mas só para eu entender direito a situação:

  • Voce já fez a consulta SQL e quer trazer os resultados na jtable ou ainda não fez a consulta?
  • Voce já implementou uma classe de conexão com o BD?
  • Desculpe, não entendi o que quis dizer com cod_cad e nome_cad.

Aguardo…

C

Eu fiz a conexão com o BD para enviar os dados do meus Jtextfield, agora quero trazer os dados que estão lá para meu JTable(grid).

Aguardo.

C

esse cod_cad e nome_cad, é o nome de minhas tabelas no BD. Que no caso é nessas tabelas que estão o Código de cadastro do usuário e o Nome da pessoa. Fiz como exemplo.

lksJF

Bom, agora entendi melhor o que deseja fazer:

No meu exemplo vou imaginar uma table chamada tbcliente, que contem os campos codigo, nome e cpf

1- Cria-se um modelo de tabela:

tabelaCliente = new DefaultTableModel(null, new String[]{"Código","Nome","Cpf"}){ @Override public boolean isCellEditable(int row, int column) { return false; } };

2- Cria-se um Statement e um ResultSet. Cria-se uma variável String que armazena o comando SQL. Execute esse comando “guardando” o resultado no ResultSet criado.

Statement stmt = con.createStatement(); String sql = "SELECT * FROM tbcliente"; ResultSet rs = stmt.executeQuery(sql);

3- Preencha um vetor com os dados que estão agora no ResultSet, sempre adicionando essa “linha” ao modelo da tabela:

while (rs.next()) { String[] dados = new String[3]; dados[0] = rs.getString("codigo"); dados[1] = rs.getString("nome"); dados[2] = rs.getString("cpf"); tabelaCliente.addRow(dados); }

4-Por fim, defina esse modelo ao objeto jtable que está usando.

jTable1.setModel(tabelaCliente());

Espero ter ajudado…
Escrevi essas linhas agora… do nada… rsrsrs :lol: … por isso pode ter algum errinho…
Assim que sair do trabalho e chegar em casa, vou conferir tudo e se precisar de “algo a mais” (rsrsrsrs) posto novamente…

Aguardo sua resposta!!!

Abraços…

C

certo, mas esses códigos eu coloco eles dentro da onde?
faço uma classe, como funciona?

lksJF

Coloque na classe que me enviou: Cipolatto.java

No evento que desejar, por exemplo, quando clicar em um botão…

Criado 27 de novembro de 2008
Ultima resposta 28 de nov. de 2008
Respostas 10
Participantes 3