Ir ao conteúdo
  • Cadastre-se

Java Java JDBC Error Date


Fnoquiq

Posts recomendados

Bom dia, estou tentando salvar um tipo sql.Date no banco, ele não gera erro, porém também não salva nada.

 

Segue uma parte do código:

        PreparedStatement state = null;
        String sql = "INSERT INTO dia (dia.data, dia.trabalhado) VALUES ( ? , ? )";
        try {
            state = con.prepareStatement(sql);
            state.setDate(1, novoDia.getDate());
            state.setBoolean(2, novoDia.isDiaTrabalhado());
            System.out.println(novoDia.getDate() + " " + novoDia.isDiaTrabalhado());
        } catch (SQLException ex) {

        }

A saída do System.out.println() ficaria assim:

2018-01-01 false
2018-01-02 false
2018-01-03 false
2018-01-04 false
2018-01-05 false
2018-01-06 true
2018-01-07 true
2018-01-08 false
2018-01-09 false
2018-01-10 false
2018-01-11 false
2018-01-12 false
2018-01-13 true
2018-01-14 true
2018-01-15 false
2018-01-16 false
2018-01-17 false
2018-01-18 false
2018-01-19 false
2018-01-20 true
2018-01-21 true
2018-01-22 false
2018-01-23 false
2018-01-24 false
2018-01-25 false
2018-01-26 false
2018-01-27 true
2018-01-28 true
2018-01-29 false
2018-01-30 false
2018-01-31 false

Não estou entendo o motivo de não salvar no banco, não gera nenhum erro, então copiei uma saida do System.out e o comando sql e tentei diretamente no MySql:

 

INSERT INTO dia (dia.data, dia.trabalhado) VALUES ( 2018-01-01  , false )

Então retorna o erro:

23:44:00    INSERT INTO dia (dia.data, dia.trabalhado) VALUES ( '2018-23-01'  , false )    Error Code: 1292. Incorrect date value: '2018-23-01' for column 'data' at row 1    0.000 sec

Ai percebi que faltava as aspas, então tentei novamente:

INSERT INTO dia (dia.data, dia.trabalhado) VALUES ( '2018-01-01'  , false )

Ai então o registro eh inserido, mas então a minha duvida eh, como colocar as aspas na data no Statment ?

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...