Erro data truncation

4 respostas
phpjavamysqlprogramaçãojavascript
A

Olá, bom dia! Tudo bem?
Estou com um erro ao salvar a data no meu banco de dados. Estou desenvolvendo uma aplicação para agendamento de consultas.

Erro: mysqldatatruncation data truncation: incorrect date value: ´d´de´mmm’de’y’ for colum dbconsultorio: ´agendamento´, data at row 1

Código:

DateFormat df = new SimpleDateFormat(“YYYY-MM-DD”);

DefaultTableModel modelo = (DefaultTableModel) tableAgendamentos.getModel();
    //A linha abaixo seleciona os objetos da tabela //Object vem do tipo de Objeto que foi escolhido na tabela
    Object[] dados = {txtIDAgenda.getText(),
        txtNomeAgenda.getText(),
        txtEmailAgenda.getText(),
        ComboBoxProcedimentos.getSelectedItem(),
        ComboBoxSexo.getSelectedItem(),
        txtTelefone.getText(),
        txtHoraAgenda.getText(),
        df.format(txtDataDoAgendamento.getDate()),
        txtValorAgenda.getText(),
        txtObservacoesAgenda.getText()};

    modelo.addRow(dados);

    limparAgendamento();

A aplicação está sendo desenvolvida na IDE Netbeans e estou utilizando o Xampp como genreciador de banco de dados pHpMyAdmin.

4 Respostas

T

A mensagem de erro diz que o valor que você está tentando passar para a coluna agendamento não é uma data válida. Provavelmente o formato está incorreto, seja para a função format, seja ao manda pro banco.

Confira o que

txtDataDoAgendamento.getDate()

está retornando, pra ver se é o caso. Veja se é um valor válido para o df.format()

Abraço.

S

Posta o código onde você está salva essa data.

A

Classe Agendamento

package Agendamento;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.logging.Level;

import java.util.logging.Logger;

/**
*

  • @author JANDERSON
    */
    public class Agendamento {

    private int id;
    
    private String nome;
    
    private String email;
    
    private String procedimentos;
    
    private String telefone;
    
    private String sexo;
    
    private String hora;
    
    private Date data;
    
    private String valor;
    
    private String observacoes;
    

    public Agendamento(String data) {

    try {
         this.data = new SimpleDateFormat("dd/MM/yyyy").parse(data);
     } catch (ParseException ex) {
         Logger.getLogger(Agendamento.class.getName()).log(Level.SEVERE, null, ex);
     }
    

    }

    Agendamento() {
    
    throw new UnsupportedOperationException(Not supported yet.); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody
    
    }
    
    public int getId() {
    
    return id;
    
    }
    
    public void setId(int id) {
    
    this.id = id;
    
    }
    
    public String getNome() {
    
    return nome;
    
    }
    
    public void setNome(String nome) {
    
    this.nome = nome;
    
    }
    
    public String getEmail() {
    
    return email;
    
    }
    
    public void setEmail(String email) {
    
    this.email = email;
    
    }
    
    public String getProcedimentos() {
    
    return procedimentos;
    
    }
    
    public void setProcedimentos(String procedimentos) {
    
    this.procedimentos = procedimentos;
    
    }
    
    public String getTelefone() {
    
    return telefone;
    
    }
    
    public void setTelefone(String telefone) {
    
    this.telefone = telefone;
    
    }
    
    public String getSexo() {
    
    return sexo;
    
    }
    
    public void setSexo(String sexo) {
    
    this.sexo = sexo;
    
    }
    
    public String getHora() {
    
    return hora;
    
    }
    
    public void setHora(String hora) {
    
    this.hora = hora;
    
    }
    
    public Date getData() {
    
    return data;
    
    }
    
    public void setData(Date data) {
    
    this.data = data;
    
    }
    
    public String getValor() {
    
    return valor;
    
    }
    
    public void setValor(String valor) {
    
    this.valor = valor;
    
    }
    
    public String getObservacoes() {
    
    return observacoes;
    
    }
    
    public void setObservacoes(String observacoes) {
    
    this.observacoes = observacoes;
    
    }
    
    }
    

Botão Salvar

try {

Cadastrar();

} catch (Exception ex) {

// Logger.getLogger(CadClientes.class.getName()).log(Level.SEVERE, null, ex);

}

}
private boolean validaCamposObrigatorios() {
    return (txtNomeAgenda.getText().equals("")
            || txtEmailAgenda.getText().equals(""));
}

private void Cadastrar() throws Exception {
    if (validaCamposObrigatorios()) {
        JOptionPane.showMessageDialog(null, "Preencha todos os campos antes de gravar!!");
    } else {
        Agendamento agendamento = new Agendamento(data);
        AgendamentoDao agendamentodao = new AgendamentoDao();
        agendamento.setNome(txtNomeAgenda.getText());
        agendamento.setEmail(txtEmailAgenda.getText());
        agendamento.setProcedimentos((String) ComboBoxProcedimentos.getSelectedItem());
        agendamento.setTelefone(txtTelefone.getText());
        agendamento.setSexo((String) ComboBoxSexo.getSelectedItem());
        agendamento.setHora(txtHoraAgenda.getText());
        agendamento.setData(txtDataDoAgendamento.getDate());
        agendamento.setValor(txtValorAgenda.getText());
        agendamento.setObservacoes(txtObservacoesAgenda.getText());

        agendamentodao.adicionar(agendamento);
        // Limpe os campos de texto após a atualização
        txtNomeAgenda.setText("");
        txtEmailAgenda.setText("");
        ComboBoxProcedimentos.setSelectedItem("");
        txtTelefone.setText("");
        ComboBoxSexo.setSelectedItem("");
        txtHoraAgenda.setText("");
        txtDataDoAgendamento.setDateFormatString("");
        txtValorAgenda.setText("");
        txtObservacoesAgenda.setText("");
    }
A

Consegui resolver! Eu coloquei o construtor vazio. A unica coisa que ficou nivertida no meu banco, foi a data mesmo. Que ficou 2024-07-10 ao inves de 10-07-2024.

//construtor

public Agendamento() {

}
Criado 9 de julho de 2024
Ultima resposta 9 de jul. de 2024
Respostas 4
Participantes 3