Instance error for class

Asked

Viewed 31 times

0

Good afternoon,

I’ve looked at it many times and I don’t understand why it’s wrong. I need to instantiate the "created variable" that is in Jframe for the User class. But it keeps saying that on the line that the "created variable" needs to be "java.util.Date" in the model class.

Model

public class UsuarioM {

// Variáveis
private String nome;
private String senha; 
private String grupo;  
private String estado;
private String cpf;
private String criador;
private Date criado;
private Date acesso;

// Getters & Setters
public String getNome() {
    return nome;
}
public void setNome(String nome) {
    this.nome = nome;
}
public String getSenha() {
    return senha;
}
public void setSenha(String senha) {
    this.senha = senha;
}
public String getGrupo() {
    return grupo;
}
public void setGrupo(String grupo) {
    this.grupo = grupo;
}
public String getEstado() {
    return estado;
}
public void setEstado(String estado) {
    this.estado = estado;
}
public String getCpf() {
    return cpf;
}
public void setCpf(String cpf) {
    this.cpf = cpf;
}
public String getCriador() {
    return criador;
}
public void setCriador(String criador) {
    this.criador = criador;
}
public Date getCriado() {
    return criado;
}
public void setCriado(Date criado) {
    this.criado = criado;
}
public Date getAcesso() {
    return acesso;
}
public void setAcesso(Date acesso) {
    this.acesso = acesso;
}

// Metódos
public UsuarioM() {
    // TODO Auto-generated constructor stub
}

public UsuarioM(String nome, String senha, String grupo, String estado, String cpf, String criador) {
    this.nome = nome;
    this.senha = senha;
    this.grupo = grupo;
    this.estado = estado;
    this.cpf = cpf;
    this.criador = criador;
}

public UsuarioM(String nome, String senha, String grupo, String estado, String cpf, String criador,
        Date criado) {
    this.nome = nome;
    this.senha = senha;
    this.grupo = grupo;
    this.estado = estado;
    this.cpf = cpf;
    this.criador = criador;
    this.criado = criado;
}

}

DAO

public class UsuarioD {

// Variáveis
private Connection con = ConectarDB.getConexao();    

public void novoUsuario(model.UsuarioM usuarioM){

    PreparedStatement ps = null;
    String sql = "insert into usuario (nome, senha, grupo, estado, cpf, criador, criado) "
            + "values (?, ?, ?, ?, ?, ?, ?)";
    try {
        ps = con.prepareStatement(sql);
        ps.setString(1, usuarioM.getNome());
        ps.setString(2, usuarioM.getSenha());
        ps.setString(3, usuarioM.getGrupo());
        ps.setString(4, usuarioM.getEstado());
        ps.setString(5, usuarioM.getCpf());
        ps.setString(6, usuarioM.getCriador());
        ps.setDate(7, new Date(usuarioM.getCriado().getTime()));
        ps.execute();
        JOptionPane.showMessageDialog(null, "Novo Usuário criado com sucesso!");
    } catch (SQLException ex) {
        ex.printStackTrace();
    }
}

}

Jframe

// Captura dos Dados
            String nome = tfNome.getText();
            String senha = new String (pfSenha.getPassword());
            String grupo = (String) cbGrupo.getSelectedItem();
            String estado = (String) cbEstado.getSelectedItem();
            String cpf = ftCPF.getText();
            model.UsuarioM usuarioM = new UsuarioM();
            String criador = usuarioM.getCriador();             

            // Capturar Data e Hora
            java.util.Date criado = new java.util.Date();

            // Verificar se houve erro!
            JOptionPane.showMessageDialog(null, criador);
            JOptionPane.showMessageDialog(null, criado);


            dao.UsuarioD usuarioD = new dao.UsuarioD();
            usuarioM = new UsuarioM(nome, senha, grupo, estado, cpf, criador, criado);
            usuarioD.novoUsuario(usuarioM);
  • 1

    Where shows the error?

  • In jFrame you have the line: usuarioM = new Usuariom(name, password, group, status, Cpf, creator, created); It is said that the "created" needs to be "java.util.Date" only that I need it to be Date so that it can be passed to Postgre since in the column is set "timestamp stamp".

  • 1

    Are you sure the created attribute is java.util.Date? Try to leave the full name to test.

  • Image 01: http://postimg.org/image/jh0606grf/

  • Image 02: http://postimg.org/image/khvotvjpz/

  • It requires it to be java.util.Date lol²

  • 1

    what are your User class’s Imports?

  • Only: import java.sql.Date;

  • So that’s the problem. You’re trying to pass java.util.Date to import java.sql.Date.

  • 1

    How do you want to pass one util.Date for a sql.Date?

  • I didn’t notice that. After you asked I went to look kkkkk² Thank you very much champion!

Show 6 more comments

1 answer

1


The problem is occurring because the class constructor User accepts a java.sql.Date and by instantiating an object User is being passed on java.util.Date.

Change the import of the User class to java.util.Date.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.