Como formatar uma data com java.sql.date?

6 respostas
C

Saudacoes galera. Meu problema e o seguinte: Eu estou criando uma aplicação que usa PreparedStatement para enviar dados para o banco. Pra gravar os dados no banco eu consegui perfeitamente inserir as datas, mas o problema e na hora de resgatar a data do banco, ela vem no formato “aaaa-mm-dd” e eu queria que o retorno da data ocorresse no formato que agente ta acostumado “dd/mm/aaaa”. Agradeco a força de vocês.

Meu codigo para configuracao do objeto java.sql.Date…

//Verifica se o campo nao esta vazio
if (!request.getParameter("nasc").isEmpty()) {
                Integer dia_nasc = Integer.parseInt(request.getParameter("nasc").substring(0, 2));
                Integer mes_nasc = Integer.parseInt(request.getParameter("nasc").substring(4, 5)) - 1;
                Integer ano_nasc = Integer.parseInt(request.getParameter("nasc").substring(6, 10)) - 1900;

                Date data = new Date(0);

                data.setDate(dia_nasc);
                data.setMonth(mes_nasc);
                data.setYear(ano_nasc);

                //Configura data de nascimento do objeto Cliente
                cli.setNasc(data);
            }
//Depois o objeto cli sera enviado como parametro para um metodo estatico (ClienteDAO.adiciona(cli)) que cadastra o cliente no banco...

No metodo Dao…

public static void adiciona(Cliente cli) throws SQLException, ClassNotFoundException {

        PreparedStatement prs;
        prs = SingleConnect.getConnection().prepareStatement("insert into clientes (nome,nasc,ident,cpf,end,compl,bairro,cep,cidade,estado,pais,emp,cargo,fone,email) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");

        prs.setString(1, cli.getNome());
        //java.sql.Date
        prs.setDate(2, cli.getNasc());
        //outros metodos set...

        prs.execute();
        prs.close();
    }

6 Respostas

H

E dae…

Para isso vc precisa que dentro do seu Cliente o atributo nasc seja um java.util.Date.

Outra coisa…

Pra vc transformar uma String em Date não seria melhor utilizar o SimpleDateFormat?

Valeu

C

haamilton:
E dae…

Para isso vc precisa que dentro do seu Cliente o atributo nasc seja um java.util.Date.

Outra coisa…

Pra vc transformar uma String em Date não seria melhor utilizar o SimpleDateFormat?

Valeu

Eu to usando java.sql.Date porque eu uso esse parametro para inserir os dados no banco de dados. To usando PreparedStatement, o metodo setDate, para adicionar essa data no banco de dados… O metodo setDate de preparedStatement recebe um objeto do tipo java.sql.Date :?:

H

Faz assim…

Coloca no seu objeto Cliente o atributo nasc como java.util.Date e faz assim para passar para o PreparedStatement:

new java.sql.Date(cliente.getNasc().getTime());

ou você pode usar o SimpleDateFormat para formatar datas para o formato que desejar.

C

O SimpleDateFormat funciona para java.sql.Date? Como seria? Eu nao conheço essa classe.

H

É só dar uma lida em: http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html

Valeu

C

haamilton:
É só dar uma lida em: http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html

Valeu

Valeu cara. muito obrigado. :slight_smile:

Criado 22 de abril de 2009
Ultima resposta 22 de abr. de 2009
Respostas 6
Participantes 2