ResultSet em um Vetor

8 respostas
fisdiego

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?

8 Respostas

S

Kra.
Primeiro
Vc consegue pegar os resultados do resultSet?

Matheus_Leandro_Ferr

Só um exemplo:

//
// 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();
tnaires
Matheus Leandro Ferreira:
Só um exemplo:
//
// 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();
[OFF] Nossa, que estilo exótico de organizar o código! :D [/OFF]
Matheus_Leandro_Ferr
tnaires:
Matheus Leandro Ferreira:
Só um exemplo:
//
// 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();
[OFF] Nossa, que estilo exótico de organizar o código! :D [/OFF]

Aprendi com a minha irmã... fazer o que! =P

renatafurlan

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();
B

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.
      }
   }
fisdiego

Caros amigos ainda não estou conseguindo.
Ps Como faço para enviar os arquivos para ver se alguém me ajuda?

fabim

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.

Criado 5 de fevereiro de 2009
Ultima resposta 6 de fev. de 2009
Respostas 8
Participantes 7