Problemas em vetor

10 respostas
S

Pessoal,

Estou quando executo a consulta de uma tabela e pego as informções no resulteset eles estão legal, quando incluo em uma arraylist so aparece uma coluna, neste caso a primeira, não deveria ao adicionar, neste caso cada funcionário, ter todas as colunas em cada posição do array ? O que esta errado no me código ?
public Vector selecionaTodasDigitais(DigitalFuncionario digitalFuncionario) throws SQLException, ClassNotFoundException , ErroPadraoException {
		Vector listaDigital = new Vector();
		try {
			conexao = CriaConexao.abreConexao();			
 			stmt = this.conexao.prepareStatement(SQL_SELECT_DIGITAL); 			
 			rs = stmt.executeQuery();
 			
 			if (rs.next()) {
 				digitalFuncionario.setIdentificadorDigital(rs.getInt("id_digital_seq"));
 				digitalFuncionario.setMatriculaFuncionario(rs.getInt("cd_matricula"));
 				digitalFuncionario.setQtByteDigital(rs.getInt("qt_byte_digital"));
 				digitalFuncionario.setDescricaoDigital(rs.getString("ds_digital"));  				 
 				 
 				digitalFuncionario.setNomeAlteracaoRegistro(rs.getString("nm_alt"));
 				digitalFuncionario.setNomeInclusaoRegistro(rs.getString("nm_inc"));
 				digitalFuncionario.setDataAlteracao(rs.getString("dt_alt")); 			
 				digitalFuncionario.setDataInclusao(rs.getString("dt_inc"));  
 				listaDigital.add(digitalFuncionario); 				
 			} 	
 		
		} catch (ClassNotFoundException e) {
 			e.printStackTrace(); 			
 		} catch (SQLException e) {
 			e.printStackTrace(); 			
 		}
		stmt.close(); 	
 		return listaDigital;
	}

10 Respostas

foia
if (rs.next()) {
digitalFuncionario = new DigitalFuncionario();
digitalFuncionario.setIdentificadorDigital(rs.getInt("id_digital_seq"));

falta um:
digitalFuncionario = new DigitalFuncionario(); :!: :!:

use ArrayList !

finotti

SINVAL,

você esqueceu de mandar “percorrer” seu ResultSet.
Você deve usar uma condicional WHILE pra isso.

while (rs.next()) {
foia

finotti:
SINVAL,

você esqueceu de mandar “percorrer” seu ResultSet.
Você deve usar uma condicional WHILE pra isso.

while (rs.next()) {

é mesmo… faltou um while também ! :mrgreen: :mrgreen:

S

Estou criando o funcionarioDigital em outra class e trago o objeto dele como parametro no método;
[quote]public Vector selecionaTodasDigitais(DigitalFuncionario digitalFuncionario) [code]

Não posso fazer desta forma ?

foia
SINVAL:
Estou criando o funcionarioDigital em outra class e trago o objeto dele como parametro no método; public Vector selecionaTodasDigitais(DigitalFuncionario digitalFuncionario) [code]

Não posso fazer desta forma ?

NOPE ! senão você vai ter sempre um elemento (referência) na lista, que seria o parâmetro que você passou.

S

Bem, mas como esta ele não iria ler pelo menos o 1º registro ? Pois visualizando pelo debug sim, Acredito que o problema não seja este e sim algo em minha criação de array(vector), vc não acha ?

foia

ele lê o primeiro registro sim (rs.next). só que a lista só vai ter um objeto pq:
1 - não faz o while;
2 - não cria um novo objeto (no loop).

certo ?!

S

Foia,

Entendi sobre ter somente um objeto…beleza, mas ainda vou ter o problema do array, certo ?

foia

é. qdo vc faz if(rs.next) verifica se ele tem “next” no resultset. tem que ser while, ou seja, enquanto tiver registros no resultset.

S

Beleza Foia, muiiiito obrigado, funcionou diretinho.

Criado 28 de julho de 2005
Ultima resposta 28 de jul. de 2005
Respostas 10
Participantes 3