Inserir data no banco MYSQL

14 respostas
C

Boa tarde, após fazer diversas perguntas sobre o mesmo assunto , após vasculhar o google sobre o assunto, não consegui resolver o meu problema, acho que sou muito ruim para entender as pessoas, mais acreditando que irei conseguir uma ajuda pergunto novamente,

PELO AMOR DE DEUS COMO É QUE EU FAÇO PARA INSERIR UMA DATA NO MYSQL???/

uso netbeans swing

um abraço

14 Respostas

C

Nossa que rapidez obrigado pela preocupação , estou enviando uma imagem da minha tabela, tudo que [e do tipo date n’ao consigo inserir

_
Connection conn = //sua conexao
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO Tabela (data_nascimento) VALUES (?)");
Date suadata = //pega data de alguma forma
pstmt.setDate(1, new java.sql.Date(suadata.getTime()));
pstmt.executeUpdate();
pstmt.close();
conn.close();

Faça assim, utilizando PreparedStatement, que nao tem erro. Se precisar de informações de horas, minutos, etc… utilize a classe Timestamp ao inves de Date.

PS: Talvez tenha alguns detalhes errados, nao rodei este codigo, digitei de cabeça. Mas a idéia é essa.

L

Boa tarde cristiandrj

Vamos ver se consigo te ajudar.

No Mysql, o formato Date de uma coluna, espera que você envie um valor neste formato 2008-05-30, ou seja, yyyy-mm-dd.

Como você está enviando o valor ?

Att.
Lucas

C

Obrigado pela atencao de todos , estarei fazendo os exemplos passados, olha como estou fazendo atualmente criei 3 jtfxtfieds um para o ano dia e mes, ai eu facu uma concatenacao para inserir do jeito que o mysql gosta, mais da muito trabalho


C

Olá galera,

puxa vida aprendi bastante com os exemplos citados, mais deu erro quando vou inserir

caramba , eu posso mandar um pequeno projeto feito pelo netbeans com uma classe (entidade) com 2 campos
um ID int e o DATA_NASCIMENTO date

tambem uma classe dao , e um pequeno banco no mysql com estes dois campos

e uma classe com o formulário onde faço a inserção no banco

se eu colocar a data no mysql do tipo char ele insere normalmente,

gente eu até pago por isto mais preciso me ajudem

J

amigo, coloca apenas um jtf para receber os dados, ou melhor coloca um jformattedalguma coisa q esqueci o nome, dai coloca um mascara usando ##/##/#### e coloca no baqnco data varchar(10)

pronto

facil e simples

espero ter ajudado

abraço

C

Olá, obrigado pela ajuda, mais já fiz isto uma vez, porêm na hora de fazer uma consulta sql entre períodos, não me retorna o valor real do período que busquei, creio que é por causa do formato do campo varchar e não data,

C

Olá galera, estou enviando o projeto para a dúvida da inserção do campo data no mysql , é um pequeno projeto do netbeans, quem conseguir me ajudar ficarei muito grato, antes eu tente me baseando nas soluções que me passaram mais não consegui, são apenas 2 campos para não demorar na solução, amanhã pretendo vir trabalhar somente para ver se alguem me ajudou, pois não tenho como ver isto de casa
um abraço

J

realmente quando utilizei não precisei deste tipo d consulta, intao não sei qual o problema pode estar acontecendo.

tentei…
rsrs

abraço

C

Valeu, Obrigado da mesma forma

C

Aí galera Graças a Deus , consegui, obrigado a todos, estou deixando o código se alguém passar pela mesma dúvida

public class FuncionarioDAO {
    
    
       public Connection conn;
    public FuncionarioDAO(Connection c){
        this.conn=c;
    }
    
    
    public void insere(Funcionario funcionario) throws PersistenciaException{
        
                       
        PreparedStatement ps=null;
        try{
            
            String sql=null;
            
            if(funcionario.getId()!=0){
            
                throw new IllegalArgumentException("Este Funcionário já existe no Banco");
            
            }
         
            sql="insert into funcionario(nome,prefixo,data_admissao,salario_base,nome_escala,cracha_light,contrato,sexo,horario_entrada,horario_saida,setor,cargo,centro_custo,intervalo,pai,mae,tipo_sanguineo,data_nascimento,naturalidade,estado_civil,endereco,bairro,cidade,estado,cep,ponto_referencia,indicacao,referencia_cliente,md,emprego_anterior,formacao,instituicao,registro_geral,emissao_registro,orgao_emissor,ctps,data_emissao_ctps,serie_ctps,cnh,vencimento_cnh,categoria,titulo,emissao_titulo,pis,emissao_pis,crea,emissao_crea,situacao_crea,tel_celular,tel_recado,tel_residencial,foto,cpf) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";// uff
                 
         ps=this.conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
                     
                        //1º Guia Dados Gerais
            
            ps.setString(1,funcionario.getNome());
            ps.setString(2,funcionario.getPrefixo());
           //ps.setDate(3, null);
        

            ps.setDate(3, converteData(funcionario.getData_admissao()));
            ps.setFloat(4,funcionario.getSalario_base());
            ps.setString(5,funcionario.getNome_escala());
            ps.setString(6,funcionario.getCracha_light());
            ps.setString(7,funcionario.getNumero_contrato());
            ps.setString(8,funcionario.getSexo());
            ps.setString(9,funcionario.getHorario_entrada());
            ps.setString(10,funcionario.getHorario_saida());
            ps.setInt(11,funcionario.getSetor());
            ps.setInt(12,funcionario.getCargo());
            ps.setInt(13,funcionario.getCentro_de_custo());
            ps.setString(14,funcionario.getIntervalo());
            
            
            // 2º Guia dados Sociais
            
            ps.setString(15,funcionario.getPai());
            ps.setString(16,funcionario.getMae());
            ps.setString(17,funcionario.getTipo_sanguineo());
            ps.setString(18,funcionario.getData_nascimento());
            ps.setString(19,funcionario.getNaturalidade());
            ps.setString(20,funcionario.getEstado_civil());
            ps.setString(21,funcionario.getEndereco());
            ps.setString(22,funcionario.getBairro());
            ps.setString(23,funcionario.getCidade());
            ps.setString(24,funcionario.getEstado());
            ps.setString(25,funcionario.getCep());
            ps.setString(26,funcionario.getPonto_referencia());
            ps.setString(27,funcionario.getIndicacao());
            ps.setString(28,funcionario.getReferencia_cliente());
            ps.setString(29,funcionario.getMd());
            ps.setString(30,funcionario.getEmprego_anterior());
            ps.setString(31,funcionario.getFormacao());
            ps.setString(32,funcionario.getInstituicao());
                        
            // Agora vamos louvar ao Todo Poderoso
            // DEUS ESTÁ AQUI ALELUIA
            //TÃO CERTO QUANTO O AR QUE EU RESPIRO
            // TÃO CERTO QUANTO O AMANHÃ QUE SE LEVANTA
            // TÃO CERTO QUANTO EU TE FALO E PODES OUVIR
            
            // ESPEREI COM PACIÊNCIA NO SENHOR E ELE ME OUVIU
            
            // 3º Guia Documentação
            
            ps.setString(33,funcionario.getRegistro_geral());
            ps.setString(34,funcionario.getData_emissao_registro_geral());
            ps.setString(35,funcionario.getOrgao_emissor());
            ps.setString(36,funcionario.getCtps());
            ps.setString(37,funcionario.getData_emissao_ctps());
            ps.setString(38,funcionario.getSerie_ctps());
            ps.setString(39,funcionario.getCnh());
            ps.setString(40,funcionario.getData_vencimento_cnh());
            ps.setString(41,funcionario.getCategoria_cnh());
            ps.setString(42,funcionario.getTitulo());
            ps.setString(43,funcionario.getData_emissao_titulo());
            ps.setString(44,funcionario.getPis());
            ps.setString(45,funcionario.getData_emissao_pis());
            ps.setString(46,funcionario.getCrea());
            ps.setString(47,funcionario.getData_emissao_crea());
            ps.setString(48,funcionario.getSituacao_crea());
                     
            // 4º Guia Contatos
            
            ps.setString(49,funcionario.getTel_celular());
            ps.setString(50,funcionario.getTel_recado());
            ps.setString(51,funcionario.getTel_residencial());
            ps.setString(53,funcionario.getCpf());
            
            // dados sociais gerais
            ps.setString(52,funcionario.getFoto());
           
            // Se algo não dá certo com você , fale com Deus para te ajudar           
            ps.executeUpdate(); // Graças a Deus
            
            ResultSet rs=ps.getGeneratedKeys();
            
            rs.next();
            
            funcionario.setId(rs.getInt(1));
        
        } catch(SQLException se){
        
            throw new PersistenciaException(se);
        }}

    //private Date convertedata(Date date) {

    private Date converteData(String data) {
                  
        Date d = null;   
        try {   
            data = data.substring(6) + "-" +   
                    data.substring(3, 5) + "-" +   
                    data.substring(0, 2);   
            d = Date.valueOf(data);   
        } catch (Exception ex) {   
            ex.printStackTrace();   
        }   
        return d;   
    }   
        
    }

Gente eu estava quase desistindo deste negócio de java qua complicação, mais Deus me fortalaceu e irei continuar a caminhada
// creio que esta não será a última dúvida, mais de uma a uma todas irão sair da minha vida , pois é na PERSEVERANÇA QUE SE ALCANÇA A VITÓRIA, e a VITÓRIA , vem de DEUS
// Abraço a todos

[/code]

J
Estou com o mesmo problema de conversão, e fiquei com uma dúvida neste método:
private Date converteData(String data) {  
                    
        Date d = null;     
        try {     
            data = data.substring(6) + "-" +     
                    data.substring(3, 5) + "-" +     
                    data.substring(0, 2);     
            d = Date.valueOf(data);     
        } catch (Exception ex) {     
            ex.printStackTrace();     
        }     
        return d;
se puder explicar melhor. É que da erro em
d = Date.valueOf(data);

Fico no aguardo.

K

Como esta o sua tabela?

K

Segue um exemplo, veja se te ajuda!

http://www.javafree.org/javabb/viewtopic.jbb?t=862743

Criado 30 de maio de 2008
Ultima resposta 30 de mai. de 2008
Respostas 14
Participantes 6