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.
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):
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.
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.
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…