Erro na hora salvar no banco de dados

11 respostas
muniquewassem

Olá!

Estou tentando salvar alguns dados para o banco, mas recebo um erro java.lang.IllegalArgumentException. Acho que é problema com a Data, mas não consigo fazer dar certo.

Esse aqui é o código que estou executando:
private void onClickSalvar() {
        AnimalController ac = new AnimalController();       
        try {
            ac.salvar(Integer.parseInt(txtCodigoAnimal.getText()), groupbtnSexo.getSelection().toString().charAt(0), 
                    groupbtnOrigem.getSelection().toString().charAt(0), Date.valueOf(formTxtNascimento.getText()), 
                    Date.valueOf(formTxtNascimento.getText()), groupbtnLocalizacao.getSelection().toString().charAt(0), 
                    areaObservacao.getText(), Integer.parseInt(txtCodigoMae.getText()));
            JOptionPane.showMessageDialog(this, "Animal salvo com sucesso!");
            clearFields();
        } catch (SQLException e) {
            JOptionPane.showMessageDialog(this, "Nao foi possivel salvar animal!\n" + e.getLocalizedMessage());
        } catch (ParseException e) {
            JOptionPane.showMessageDialog(this, "Campo possui formato inválido!\n" + e.getLocalizedMessage());
        } catch (NumberFormatException e){
            JOptionPane.showMessageDialog(this, "Preencha os campos!" + e.getLocalizedMessage());
        } 
    }
E esse é o código para salvar em si:
public void salvar(int codigoAnimal, char sexo, char origem, Date dataNascimento, 
            Date dataAquisicao, char status, String observacao, int codigoMae) throws SQLException, ParseException {
        Animal animal = new Animal();
        animal.setCodigo(codigoAnimal);
        animal.setSexo(sexo);
        animal.setOrigem(origem);
        animal.setDataNascimento(formatarData(dataNascimento.toString()));
        animal.setDataAquisicao(formatarData(dataAquisicao.toString()));
        animal.setstatus(status);
        animal.setObservacao(observacao);
        animal.setCodigoMae(codigoMae);
        
        new AnimalDao().salvar(animal);
    }

Alguma idéia de qual é o erro?

11 Respostas

pedruhenrik

Persistência: Hibernate, JPA, JDBC e outros
Hibernate, JPA, EJB, Eclipselink, Toplink, JDBC, IBatis e outros frameworks relacionados a persistência e banco de dados, assim como discussões específicas sobre MySQL, PostgreSQL, Oracle e SQL em geral.

se é problema de persistência de dados acho q deve ficar em: “Persistência: Hibernate, JPA, JDBC e outros”.

qual o erro?

att,

luistiagos

bota ai o stacktrace…

gabrielemidio

O Problema é que nesses seus métodos nenhum chama o banco ou seja não possui conexão com o Banco de Dados,ele apenas esta recebendo as Strings não vai salvar de jeito nenhum.

Abraços

pedruhenrik

att,

Ivan_Alves

Mostra seu código que está salvando no banco

gabrielemidio

Mais ai ela esta chamando o próprio metodo que criou.

pedruhenrik

Mais ai ela esta chamando o próprio metodo que criou.

public void salvar(int codigoAnimal, char sexo, char origem, Date dataNascimento,
Date dataAquisicao, char status, String observacao, int codigoMae)

se os params fossem enviados talvez.

o fato é q falta o erro q esta acontecendo e outras informações mais, como por exemplo o DAO.

att,

gabrielemidio

hum… XD

muniquewassem

Olá!

pedruhenrik, era pra eu ter postado lá mesmo, dá próxima vez vou prestar mais atenção.

Ivan, esse é o código que salva.

public void salvar(Animal animal) throws SQLException { String insert = "INSERT INTO animal(codigoanimal, sexo, origemanimal, datanascimento, dataaquisicao, statusanimal, observacaoanimal, codigomae_codigoanimal) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"; save(insert, animal.getCodigo(), animal.getSexo(), animal.getOrigem(), animal.getDataNascimento(), animal.getDataAquisicao(), animal.getStatus(), animal.getObservacao(), animal.getCodigoMae()); }

pedruhenrik

faltou o stracktrace ne? rs

save(insert, animal.getCodigo(), animal.getSexo(), animal.getOrigem(), animal.getDataNascimento(),animal.getDataAquisicao(), animal.getStatus(), animal.getObservacao(), animal.getCodigoMae());

o q exatamente faz esse “save” é, outro metodo?

att,

ViniGodoy

Tópico movido para o fórum de persistência. Por favor, leia com atenção a descrição dos fóruns antes de postar.

Criado 2 de junho de 2011
Ultima resposta 2 de jun. de 2011
Respostas 11
Participantes 6