Boa tarde Galera, estou com uma dificuldade em colocar o resultado de uma consulta em sql(SELECT * FROM tabela) em um vetor para depois colocalo em uma JTable, já fiz uns três métodos que vi na internet, porém nenhum funcionou, alguém poderia me ajudar?
Kra.
Primeiro
Vc consegue pegar os resultados do resultSet?
Só um exemplo:
[code]//
// Criando 2 vetores para uso futuro.
//
Vector
lo_vt_transacao_principal
= new Vector(),
lo_vt_transacao_auxiliar
= new Vector();
//
// Cria o resultset que ira receber o conteudo do seu select.
//
ResultSet
lo_vt_lista;
//
// Pesquisa a base de dados e armazena no result.
//
lo_vt_lista = SeuSelect();
//
// Percorre os resultado encontrados.
//
while (
lo_vt_lista.next()
)
{
//
// inicializa o vetor auxiliar
//
lo_vt_transacao_auxiliar = new Vector();
//
// adiciona os dados no vetor auxiliar
//
lo_vt_transacao_auxiliar.add(lo_vt_lista.getString(1));
//
// adiciona os dados do vetor auxiliar no vetor principal
//
lo_vt_transacao_principal.add(lo_vt_transacao_auxiliar);
}
tabela.setDataVector(lo_vt_transacao_principal);
tabela.repaint();[/code]
[quote=Matheus Leandro Ferreira]Só um exemplo:
[code]//
// Criando 2 vetores para uso futuro.
//
Vector
lo_vt_transacao_principal
= new Vector(),
lo_vt_transacao_auxiliar
= new Vector();
//
// Cria o resultset que ira receber o conteudo do seu select.
//
ResultSet
lo_vt_lista;
//
// Pesquisa a base de dados e armazena no result.
//
lo_vt_lista = SeuSelect();
//
// Percorre os resultado encontrados.
//
while (
lo_vt_lista.next()
)
{
//
// inicializa o vetor auxiliar
//
lo_vt_transacao_auxiliar = new Vector();
//
// adiciona os dados no vetor auxiliar
//
lo_vt_transacao_auxiliar.add(lo_vt_lista.getString(1));
//
// adiciona os dados do vetor auxiliar no vetor principal
//
lo_vt_transacao_principal.add(lo_vt_transacao_auxiliar);
}
tabela.setDataVector(lo_vt_transacao_principal);
tabela.repaint();[/code][/quote]
[OFF]
Nossa, que estilo exótico de organizar o código!
[/OFF]
[quote=tnaires][quote=Matheus Leandro Ferreira]Só um exemplo:
[code]//
// Criando 2 vetores para uso futuro.
//
Vector
lo_vt_transacao_principal
= new Vector(),
lo_vt_transacao_auxiliar
= new Vector();
//
// Cria o resultset que ira receber o conteudo do seu select.
//
ResultSet
lo_vt_lista;
//
// Pesquisa a base de dados e armazena no result.
//
lo_vt_lista = SeuSelect();
//
// Percorre os resultado encontrados.
//
while (
lo_vt_lista.next()
)
{
//
// inicializa o vetor auxiliar
//
lo_vt_transacao_auxiliar = new Vector();
//
// adiciona os dados no vetor auxiliar
//
lo_vt_transacao_auxiliar.add(lo_vt_lista.getString(1));
//
// adiciona os dados do vetor auxiliar no vetor principal
//
lo_vt_transacao_principal.add(lo_vt_transacao_auxiliar);
}
tabela.setDataVector(lo_vt_transacao_principal);
tabela.repaint();[/code][/quote]
[OFF]
Nossa, que estilo exótico de organizar o código!
[/OFF][/quote]
Aprendi com a minha irmã… fazer o que! =P
Uma opção é vc usar a biblioteca da Apache Commons BeanUtils.
Nela há a classe RowSetDynaClass, que vc pode usar assim:
ResultSet resultSet = select(...);
RowSetDynaClass rsdc = new RowSetDynaClass(resultSet);
List lista = rsdc.getRows();
Em exemplo:
public List obterPessoasPorIdade(int idade)
throws SQLException
{
final String sql =
"select nome, idade, dataNascimento "+
"from pessoa "
"where idade = ? ";
PreparedStatement ps = null;
ResultSet rs = null;
try
{
ps = getConn().prepareStatement(sql); // getConn retorna um java.sql.Connection ativo
ps.setInt(1, idade);
rs = ps.executeQuery();
ArrayList list = new ArrayList();
while (rs.next())
{
Pessoa pessoa = new Pessoa( // Construtor que recebe String, int, Date
rs.getString("nome"),
rs.getInt("idade"),
rs.getDate("dataNascimento")
);
list.add(pessoa);
}
return list;
}
finally
{
close(ps, rs); // método para checar se ps e rs não são nulos, e os fecharem.
}
}
Caros amigos ainda não estou conseguindo.
Ps Como faço para enviar os arquivos para ver se alguém me ajuda?
Crie um List a partir do seu resultset, já com os objetos dentro dele (List de Clientes, por exemplo), e mande esse List pra cima.
Depois vc pode iterar nesse list pra ir adicionando seus objetos em um TableModel.