Setar atributo data no DAO

5 respostas
R

Pessoal com faço para setar um atributo data do tipo calender no DAO no meu método select e update
agora esta como abaixo mais esta dando erro.

No meu ClienteTO esta declarada assim

private Calendar dataNascimento;

public List selecionaClientes(ClienteTO clienteTO) throws Exception {

		List retorno = new ArrayList();

		String sql = "Select CODIGOCLI, NOME, ENDERECO, RG, CPF, TELFIXO, ";
		sql = sql
				.concat("CEL, BAIRRO, DATANASCIMENTO, NUMERO, COMPLEMENTO, EMAIL from cadcliente ");

		try {
			PreparedStatement pstm = getConnection().prepareStatement(sql);
			ResultSet result = pstm.executeQuery();
			while (result.next()) {  
				ClienteTO cli = new ClienteTO();
				cli.setCodigocli(result.getString("CODIGOCLI"));
				cli.setNome(result.getString("NOME"));
				cli.setEndereco(result.getString("ENDERECO"));
				cli.setRg(result.getString("RG"));
				cli.setCpf(result.getString("CPF"));
				cli.setTelfixo(result.getString("TELFIXO"));
				cli.setCel(result.getString("CEL"));
				cli.setBairro(result.getString("BAIRRO"));
				cli.setDate(((Object) result).getDataNascimento("DATANASCIMENTO"));  <-------------
				cli.setNumero(result.getString("NUMERO"));
				cli.setComplemento(result.getString("COMPLEMENTO"));
				cli.setEmail(result.getString("EMAIL"));
				retorno.add(cli);
			}
		} catch (Exception ex) {
			System.out.println("Erro: " + ex);
			System.err.println("Erro: " + ex);
			throw new Exception(ex);
		}
		return retorno;
	}

5 Respostas

dstori

Tenta o result.getDate ou result.getTimeStamp na linha do dito cujo.

vanilton.coelho

Não tá ao contrário não ???

ao invés de:

cli.setDate(((Object) result).getDataNascimento("DATANASCIMENTO"));

não seria:

cli.setDataNascimento(((Object) result).getDate("DATANASCIMENTO"));

e ainda você pode testar oque nosso colega dstori falou ai, ou com date ou timestamp.

R

Fiz dessa forma que vc me passou mais ainda esta dando erro no getDate em negrito abaixo

cli.setDataNascimento(((Object) result).[b]getDate[/b]("DATANASCIMENTO"));

ai mudei e esta assim

calendar.setTime(result.getDate("DATANASCIMENTO"));

não esta dando erro mais tb não esta buscando a data acho que porque teria que colocar cli na frente mais da erro quando faço isso.

vanilton.coelho

cara, o campo no banco está como tipo date??? tem que ver isso, esse ultimo código ai, eu acho que não tem nada a ver, você deveria estar setando atributos do objeto cli que é da classe cliente, né não porque esse Calendar ai??? seu objeto é cli

R

Então No Banco esta como date sim, eu fiz com esta ai não esta dando erro e esta funcionando porém acho que isso ai não e a melhor forma para isso funcionar.

Calendar calendar = new GregorianCalendar();
				calendar.setTimeInMillis(result.getDate("DATANASCIMENTO").getTime());
				clienteTO2.setDataNascimento(calendar);
Criado 18 de agosto de 2008
Ultima resposta 18 de ago. de 2008
Respostas 5
Participantes 3