Apanhando com Datas. Help!

4 respostas
A

Não sei como aplicar o formato de data no código abaixo. alguém pode me dar uma luz ?

Os campos estão sendo gravados no formato yyyy/mm/dd. Quando o usuário digitar por exemplo 15/05/2004. O banco guarda 2015-05-20 e na consulta obviamente trz esta infiormação.

Como faço para consertar isso. Tenho que trabalhar o campo na inserção ao banco ou tratar o campo na consulta, para exibir a informação correta.

Estou quebrando a kbça. Nunca fiz isso.

String url="jdbc:mysql://localhost/usuario";  // Início Gravação
        Connection con;
        Statement stmt;

        try {
                Class.forName("com.mysql.jdbc.Driver");  // localizando o Driver de Conexão
            }
     
        
        catch (java.lang.ClassNotFoundException e) {
        
            System.err.print("ClassNotFoundException: ");  // tratamento de erro da conexão
            System.err.println(e.getMessage());
            
        }

// Bloco de comandos e análise
        
              
            try {
        
                
                con = DriverManager.getConnection (url, "root","");  // usuário e senha de acesso
                           
                String sql = "insert into tb_contatos(nome,dddcel,telcel," +
                "dddcom,telcom,dddres,telres,mail,empresa,depto,modulo,op_ic," +
                "conhec,f_conhec,dt_and1,dt_and2,dt_and3,hist) values('"
                +nome.getText()+"','"
                +dddcel.getText()+"','"
                +tel_cel.getText()+"','"
                +dddcom.getText()+"','"
                +tel_com.getText()+"','"
                +dddres.getText()+"','"
                +tel_res.getText()+"','"
                +email.getText()+"','"
                +empresa.getText()+"','"
                +depto.getText()+"','"
                +cbo_treinamento.getSelectedItem()+"','"      
                +cbo_periodo.getSelectedItem()+"','"
                +cbo_conhecimento.getSelectedItem()+"','"
                +indicacao.getText()+"','"
                +dtcont1.getText()+"','"     // data
                +dtcont2.getText()+"','"      // data
                +dtcont3.getText()+"','"      // data
                +txt_hist.getText()+"');";
                               
                
                Statement p = con.createStatement();   // Comando a ser executado

                int i = p.executeUpdate(sql)

Já li vários tópicos por aki e naum estou conseguindo realizar esta tarefa

Obrigado.

4 Respostas

W

Como que vc tá fazendo para converter de String para Date???

Está utilizando o SimpleDateFormat???

A

Não estou fazendo isso naum.

Pra vc ter idéia, estou trabalhando com java há pouco tempo. Já peguei um sistema simples pra fazer e em algumas coisas q parecem fáceis, estou apanhando Isso me deixa muito nervoso.

C

Ola

Vc pode usar a classe SimpleDateFormat p/ manipular datas no formato que vc desejar. Da um olhada em:
http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html

Fabricio_Cozer_Marti
String strData = 10/10/2004;

Date dt = new Date();

java.sql.Date uDate = null;

SimpleDateFormat f = new SimpleDateFormat(dd/MM/yyyy); //INforma o formato desejado

try {

dt = f.parse(strData); //Converte uma string em data no formato específico

uDate = new java.sql.Date(dt.getTime()); // cria um objeto Date do pacote java.sql , esse aqui eh o q vai ser gravado no banco

} catch (Exception e)

{

System.out.println(e.getMessage());

uDate = null;

}

System.out.println(f.format(uDate)); //Transforma um Date para String … //Aqui seria o retorno do banco !

Ps.: Nao esqueca de usar os imports …

import java.text.SimpleDateFormat;
import java.util.Date;

Quem puder rodar esse trecho de código … por favor me digam o qual a saída … :slight_smile:
Só vale pra quem tá usando a sdk 1.3 …

Verificarão que há algo estranho … se alguém puder explicar isso :wink:

T+

Criado 3 de junho de 2004
Ultima resposta 4 de jun. de 2004
Respostas 4
Participantes 4