Problema com construtor - operações com Banco de Dados

2 respostas
G

A minha classe Cliente esta implementando a Serializable, to fazendo inserção de dados em um banco de dados na tabela "cliente", só que quando fui obrigado a por mais um atributo(coluna) na tabela tive que mudar a minha assinatura dos metodos (grava, consultar, atualizar e excluir) e é ai que começa meus problemas.

Os métodos gravar e atualizar não funcionam mais, na criação de cliente da algum erro (registro = new Cliente(novoCliente,
Integer.parseInt(jTFCpf.getText()),
Integer.parseInt(jTFIdade.getText()),
Integer.parseInt(jTFTelefone.getText(),
Integer.parseInt(jTFOrdemServico.getText()))
);)

quando rodo tenho o seguinte erro:

Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Uncompilable source code - cannot find symbol
symbol : constructor Cliente(java.lang.String,int,int,int)
location: class locadora.bean.Cliente

acho que estou passando os parâmetros certos, (String, int, int, int, int) mais nao entendo o pq do problema....
talvez tenha algum erro na definição da string sql

Gravar()
public void inserirNovoCliente(Cliente novoCliente){
        String sql = "INSERT INTO cliente(nome, " +
                "cpf, idade,telefone " + "ordemServico" +
                     "VALUES (?, ?, ?, ?, ?)";
Atualizar()
public void atualizarCliente(String nome, int cpf, int idade, int telefone, int ordemServico){
        String sql = "UPDATE cliente SET nome = ?, " +
                     "idade = ?, telefone = ?, ordemTelefone = ?, WHERE cpf = ?";
        conexao = oracleConexao.conectarBd();
E a minha classe cliente:
public class Cliente implements Serializable {

    private String nome;
    private int cpf;
    private int idade;
    private int telefone;
    private int ordemServico;

    // Construtor sem argumentos faz uma chamada a um outro construtor com valores padrao
    public Cliente(){
        this("", 0, 0, 0, 0);
    }

     // Inicializa um registro com os novos atributos
    public Cliente(String cliente, int cpf, int idade, int telefone, int ordemServico){
        setNome(cliente);
        setCpf(cpf);
        setIdade(idade);
        setTelefone(telefone);
        setOrdemServico(ordemServico);

    }

     //  Inicializa um registro com os novos atribiutos
    public void setNome(String cliente){
        this.nome = cliente;
    }

    public String getNome(){
        return nome;
    }

    public void setCpf(int cpf){
        this.cpf = cpf;
    }

    public int getCpf(){
        return cpf;
    }

    public void setIdade(int idade){
        this.idade = idade;
    }

    public int getIdade(){
        return idade;
    }

    public void setTelefone(int telefone){
        this.telefone = telefone;
    }

    public int getTelefone(){
        return telefone;
    }

    public void setOrdemServico(int ordemServico){
        this.ordemServico = ordemServico;
    }

    public int getOrdemServico(){
        return ordemServico;
    }



}

Desde já agradeço.

2 Respostas

lucianoaac

Tá faltando um parente na sua string sql.

Eric_Yuzo

registro = new Cliente(novoCliente, Integer.parseInt(jTFCpf.getText()), Integer.parseInt(jTFIdade.getText()), Integer.parseInt(jTFTelefone.getText(), // Falta fechar um parênteses aqui. Integer.parseInt(jTFOrdemServico.getText())) ); // E aqui está sobrando um parênteses.

Criado 26 de novembro de 2010
Ultima resposta 26 de nov. de 2010
Respostas 2
Participantes 3