[RESOLVIDO]Duvidas em adicionar um Animal

42 respostas
rafaelshock

Boatarde galera desde de já muito obrigado

galera estou enfretando o seguinte problemas tenho um classe animal e uma classe cliente e em meu projeto todo animal que vai ser adicionado precisa ter um cliente

ai na classe animal fiz isso

@ManyToOne
	@JoinColumn(name="codigo_cliente")
        @SwingColumn(description="Cliente",colorOfBackgound="")
	private Cliente clientes;

e na classe cliente

@OneToMany(mappedBy="codigo")
	private List<Animal>animais = new ArrayList<>();

creio que até aqui está certo, só que agora não consigo fazer um seta para o outro

fiz dessa forma para add…

Animal animal = new Animal();
            animal.setClientes((Cliente) cbcliente.getSelectedItem());  //aqui é combobox editavel junto com busca
            animal.setNome_animal(txtnome_animal.getText());
            animal.setRaca(txtraca.getText());
            animal.setCor(txtcor.getText());
            animal.setData_nascimento((Calendar) ((JCalendar) cbdatanascimento).getSelectedItem());
            animal.setData_vacina((Calendar) ((JCalendar) cbdatavacina).getSelectedItem());
            animal.setTipo(cbtipo.getSelectedItem().toString());
            animal.setObs(txtObs.getText());
            dao.AdcionarAnimal(animal);
            frmanimal.carregartela();
        } catch (Exception e) {
            e.printStackTrace();
            JOptionPane.showMessageDialog(this, "Erro ao adicionar novo animal, tente novamente!");
            return;
        }
        setVisible(false);

estou trazendo os cliente no combobox nesse seguinte metodo

private void carregarcombox() {
 try {
           cbcliente.removeAllItems();               
           ClienteDAO clienteDAO = new ClienteDAO();    
           List<Cliente> lista = clienteDAO.gettodosClientes();    
           DefaultComboBoxModel cbmcliente = new DefaultComboBoxModel();    
           for ( Cliente cliente : lista ) { 
          //cbmcliente.addElement(cliente.getCodigo_cliente());
           cbmcliente.addElement(cliente.getNome());
           cbcliente.setModel(cbmcliente);
           }
               } catch (Exception e) {
            e.printStackTrace();
            JOptionPane.showMessageDialog(this, "Erro ao carregar a lista de proprietários");
        }

bem galera é isso quem puder me ajudar… agradeço sou novo em java!

42 Respostas

rafaelshock

Alguém?

michetti

Isto aqui que não esta funcionando ?

animal.setClientes((Cliente) cbcliente.getSelectedItem());  //aqui é combobox editavel junto com busca

da um e vê o que esta chegando

JOptionPane.showMessageDialog(null, (Cliente) cbcliente.getSelectedItem());
rafaelshock

desculpa querido, mas não intendi… :frowning:

michetti

Onde esta dando erro?

rafaelshock

da esse erro aqui…

java.lang.ClassCastException: java.lang.String cannot be cast to br.com.banhotosa.Model.Cliente
	at br.com.banhotosa.View.FrmaddAnimal.btokActionPerformed(FrmaddAnimal.java:260)
	at br.com.banhotosa.View.FrmaddAnimal.access$400(FrmaddAnimal.java:22)
	at br.com.banhotosa.View.FrmaddAnimal$5.actionPerformed(FrmaddAnimal.java:125)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6505)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6270)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:688)
	at java.awt.EventQueue$3.run(EventQueue.java:686)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:702)
	at java.awt.EventQueue$4.run(EventQueue.java:700)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
	at java.awt.Dialog.show(Dialog.java:1082)
	at java.awt.Component.show(Component.java:1651)
	at java.awt.Component.setVisible(Component.java:1603)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at br.com.banhotosa.View.FrmAnimal.btnovoActionPerformed(FrmAnimal.java:177)
	at br.com.banhotosa.View.FrmAnimal.access$100(FrmAnimal.java:20)
	at br.com.banhotosa.View.FrmAnimal$2.actionPerformed(FrmAnimal.java:67)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6505)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6270)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:688)
	at java.awt.EventQueue$3.run(EventQueue.java:686)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:702)
	at java.awt.EventQueue$4.run(EventQueue.java:700)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
	at java.awt.Dialog.show(Dialog.java:1082)
	at java.awt.Component.show(Component.java:1651)
	at java.awt.Component.setVisible(Component.java:1603)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at br.com.banhotosa.View.FrmPrincipal.jButton3ActionPerformed(FrmPrincipal.java:264)
	at br.com.banhotosa.View.FrmPrincipal.access$200(FrmPrincipal.java:16)
	at br.com.banhotosa.View.FrmPrincipal$3.actionPerformed(FrmPrincipal.java:81)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6505)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6270)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:688)
	at java.awt.EventQueue$3.run(EventQueue.java:686)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:702)
	at java.awt.EventQueue$4.run(EventQueue.java:700)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
ErickRAR

Você está preenchendo o comboBox do Cliente com cliente.getNome(), depois vai no dao, pega o selecionado e tenta converter para Cliente, por isso o erro.

Reescreva o método toString do cliente para que retorne o nome, depois no combobox você adiciona o objeto cliente.

cbmcliente.addElement(cliente);
rafaelshock

ErickRAR desde de já obrigado, mas deixa eu ver se intendi…

tipo assim no dao eu passo o codigo, mas no combobox passo getNome seria isso???

ErickRAR

Não.

Mantenha o dao como está. No combobox, quando você preenche ele, preencha dessa maneira:

cbmcliente.addElement(cliente);

Depois, na sua classe Cliente, você deve reescrever o método toString:

@Override public String toString() { return nome; }

rafaelshock

fiz dessa forma

cbmcliente.addElement(cliente);

agora está assim…

só que eu preciso deixar só o nome do combobox e do lado o codigo conforme o combobox muda o codigo tbm…
como poderia fazer isso?

Ruttmann

rafaelshock:
fiz dessa forma

cbmcliente.addElement(cliente);

agora está assim…

só que eu preciso deixar só o nome do combobox e do lado o codigo conforme o combobox muda o codigo tbm…
como poderia fazer isso?

Agora você reescreve o método toString() da sua classe Cliente pra retornar o que você precisa que apareça na comboBox. Quando você passa um Objeto pra comboBox, por padrão ela coloca o retorno do método toString() como label de item na comboBox.

rafaelshock

vooooti velho isso mesmo deu certinho, mas como faço para o textFileds do lado ficar sendo preenchido pelo codigo do cliente que está no combobox?

tipo quando selecionar o cliente aaaaa o codigo do lado fica 1, quando selecionar bbbb o codigo do lado fica 2 e assim por diante

Ruttmann

rafaelshock:
vooooti velho isso mesmo deu certinho, mas como faço para o textFileds do lado ficar sendo preenchido pelo codigo do cliente que está no combobox?

tipo quando selecionar o cliente aaaaa o codigo do lado fica 1, quando selecionar bbbb o codigo do lado fica 2 e assim por diante

No getSelectedItem() do seu comboBox você pega o código do objeto selecionado e atribui no textField correspondente.

michetti

Faz um select de acordo com o item selecionado no combobox e da um setText no textfield.

rafaelshock

seria isso aqui???

txtCodigoCliente.setText(cliente.getCodigo().toString());
michetti

Só testando para dizer mas creio que seja isto sim…

rafaelshock

então veio somente o ultimo numero, e posso mecher no combobox que ele não muda…
no caso fica somento o codigo 9

michetti

É porque tipo este ultimo numero corresponde ao ultimo registro que o ResultSet obteve e setou no setCodigo.
No caso acho que a solução seria você fazer um novo select de acordo com o item selecionado no combobox.

rafaelshock

como ficaria?

rafaelshock

ou talvez nem preciso disso, é que eu estou preciso apenas do código para gravar o animal, preciso do codigo do cliente!

michetti

E você tem este código do cliente ?

rafaelshock

então! tenho sim, mas não to sabendo setar ele…
tipo no combobox da para colocar codigo e nome ou só codigo ou só nome…
mas na hora de gravar não sei como fazer isso!

michetti

Sabe qual o problema? Por que tipo assim… o comando que você usa para listar no combobox é um ResultSet.next() dentro de um while que mostra todos os valores do comando sql que você criou, o problema vai ser setar um valor no textfield de um select que você usa para listar todos no combobox… o jeito digamos “burro” seria você criar tipo método igual ao que você usa para pegar listar no combobox e no comando sql colocar um where nome=“getselectedItem()”

Tendeu? rsrs senão quando eu chegar em casa posto um exemplo.

rafaelshock

intendi mais ou menos cara… eu quero apenas adicionar o animal com o cliente, mas tah ficando dificil… hahahahaha

ErickRAR

Cara, acho que você está entendendo errado como funciona o comboBox.

Você está preenchendo ele com clientes, certo?

cbmcliente.addElement(cliente);

Quando você faz isso, no comboBox, por default, ele irá o método toString da classe para preencher o rótulo(Label) na hora do usuário selecionar.

Public class Cliente{
.
.
.

@Override  
public String toString() {  
    return nome;  
}  
}

Isso quer dizer quê, digamos que o o combobox está preenchido com cliente, porém irá aparecer só o nome na hora de selecionar.
Se você reescrever o método toString e colocar para retornar o ID , irá aparecer o ID no combobox.

@Override  
public String toString() {  
    return id;  
}  
}

Você está passando o cliente com tudo preenchido, porém só aparece na tela o que você reescreveu no método.
Agora vamos lá. Voce quer atualizar a caixa de texto sempre que for selecionado outro cliente no combobox,certo?
Procure qual evento é ativado quando o valor do comboBox mude, e nele coloque:

Cliente cliente = (Cliente)cbmcliente.getSelectedItem(); //pega o objeto que foi selecionado e faz um cast para Cliente.. Lembre-se que apesar de só exibir o nome, aqui está o objeto com as outras informações também.
txtCodigoCliente.setText(cliente.getCodigo().toString());  //seta o id na sua caixa de texto.

Pronto.
Seria legal se você tentasse fazer o contrário também, digitando, por exemplo 1, na caixa de texto, ele atualiza-se o comboBox e seleciona-se o cliente de acordo com o Id que você digitou.

michetti

Aqui vai um exemplo que estou usando em um programa que estou desenvolvendo...

public List<Agendamento> listarAgendamentosDia(){
        SimpleDateFormat formatData = new SimpleDateFormat("dd/MM/yyyy");
        Date data = new Date(System.currentTimeMillis());  
        String date = formatData.format(data);
        ResultSet RS;
        String select="select * from novoagendamento where data = '"+date+"'";
        List<Agendamento> agendamento = new ArrayList<>();
        try {
            RS = inserir.Consulta(select);
            while(RS.next()){
                Agendamento ag = new Agendamento();
                ag.setCodigo(RS.getInt("codigo"));
                ag.setHorario(String.valueOf(RS.getString("horario")));
                ag.setData(String.valueOf(RS.getString("data")));
                ag.setNome(String.valueOf(RS.getString("nome")));
                ag.setServico(String.valueOf(RS.getString("servico")));
                ag.setTelefone(String.valueOf(RS.getString("telefone")));

                agendamento.add(ag);      
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        try {
            inserir.Exit();
        } catch (SQLException ex) {
            Logger.getLogger(NovoAgendamento.class.getName()).log(Level.SEVERE, null, ex);
        }
        return agendamento;
       }
rafaelshock

seria nesse mesmo metodo???

DefaultComboBoxModel cbmcliente = new DefaultComboBoxModel();    
           for ( Cliente cliente : lista ) { 
           cbmcliente.addElement(cliente);
           cbcliente.setModel(cbmcliente);
           Cliente cliente = (Cliente)cbmcliente.getSelectedItem(); //pega o objeto que foi selecionado e faz um cast para Cliente.. Lembre-se que apesar de só exibir o nome, aqui está o objeto com as outras informações também.  
           txtCodigoCliente.setText(cliente.getCodigo().toString());
rafaelshock
michetti:
Aqui vai um exemplo que estou usando em um programa que estou desenvolvendo...
public List<Agendamento> listarAgendamentosDia(){
        SimpleDateFormat formatData = new SimpleDateFormat("dd/MM/yyyy");
        Date data = new Date(System.currentTimeMillis());  
        String date = formatData.format(data);
        ResultSet RS;
        String select="select * from novoagendamento where data = '"+date+"'";
        List<Agendamento> agendamento = new ArrayList<>();
        try {
            RS = inserir.Consulta(select);
            while(RS.next()){
                Agendamento ag = new Agendamento();
                ag.setCodigo(RS.getInt("codigo"));
                ag.setHorario(String.valueOf(RS.getString("horario")));
                ag.setData(String.valueOf(RS.getString("data")));
                ag.setNome(String.valueOf(RS.getString("nome")));
                ag.setServico(String.valueOf(RS.getString("servico")));
                ag.setTelefone(String.valueOf(RS.getString("telefone")));

                agendamento.add(ag);      
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        try {
            inserir.Exit();
        } catch (SQLException ex) {
            Logger.getLogger(NovoAgendamento.class.getName()).log(Level.SEVERE, null, ex);
        }
        return agendamento;
       }

então cara tentei fazer da data igual você fez, mas está retornando esse erro aqui

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: '’' for column 'data_nascimento' at row 1
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4094)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734)
michetti

So que não seu caso a condição do where tem que ser o que o foi selecionado no combobox…

rafaelshock

como ficaria? boiei agora!

michetti

Vai ai o exemplo...

DAO

public class dao {
    Conexao inserir;
    public dao(){
       inserir = new Conexao(); 
    }
    public String listarAgendamentos(String op){
        ResultSet RS;
        String resultado = null;
        String select="select * from novoagendamento where codigo='"+op+"'";
        try {
            RS = inserir.Consulta(select);
            while(RS.next()){
                model ag = new model();
                JOptionPane.showMessageDialog(null, RS.getString("servico"));
                 ag.setOp(RS.getString("servico"));
                 resultado = ag.getOp();
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        try {
            inserir.Exit();
        } catch (SQLException ex) {
            Logger.getLogger(dao.class.getName()).log(Level.SEVERE, null, ex);
        }
        return resultado;
       }
}

MODEL

public class model {
    private String op;

    public String getOp() {
        return op;
    }

    public void setOp(String op) {
        this.op = op;
    }
}

VIEW

public void preencheTF(){
        String op = String.valueOf(jComboBox1.getSelectedItem());
        dao dao = new dao();
        model resultado = new model();
        String msg = dao.listarAgendamentos(op);
        jTextField1.setText(msg);
    }

ai criei um evento que ao clicar em uma opção do combobox chama o metodo peencheTF();

private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                           
        preencheTF();
    }
rafaelshock

galera larguei mão daquele bang de um campo codigo, não tenho muito tempo para fazer isso
eu preciso apenas gravar o animal…
alguém pode me ajudar?

rafaelshock

michetti valew vou ver isso mais adiante, mas o mais urgente agora é gravar o animal… :frowning:

michetti

Qual o problema em gravar o animal ? Esta dando algum erro ou você não esta conseguindo pensar em como salvar?

rafaelshock

está dando um erro…

que é esse aqui…

Error to try 8 with value Rafael Almeida
java.sql.SQLException: No value specified for parameter 9
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
	at com.mysql.jdbc.PreparedStatement.checkAllParametersSet(PreparedStatement.java:2611)
	at com.mysql.jdbc.PreparedStatement.fillSendPacket(PreparedStatement.java:2586)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2432)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)
	at br.com.banhotosa.Dao.GenericDAO.executeCommand(GenericDAO.java:63)
	at br.com.banhotosa.Dao.AnimalDAO.AdcionarAnimal(AnimalDAO.java:29)
	at br.com.banhotosa.View.FrmaddAnimal.btokActionPerformed(FrmaddAnimal.java:263)
	at br.com.banhotosa.View.FrmaddAnimal.access$400(FrmaddAnimal.java:22)
	at br.com.banhotosa.View.FrmaddAnimal$5.actionPerformed(FrmaddAnimal.java:123)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6505)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6270)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:688)
	at java.awt.EventQueue$3.run(EventQueue.java:686)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:702)
	at java.awt.EventQueue$4.run(EventQueue.java:700)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
	at java.awt.Dialog.show(Dialog.java:1082)
	at java.awt.Component.show(Component.java:1651)
	at java.awt.Component.setVisible(Component.java:1603)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at br.com.banhotosa.View.FrmAnimal.btnovoActionPerformed(FrmAnimal.java:177)
	at br.com.banhotosa.View.FrmAnimal.access$100(FrmAnimal.java:20)
	at br.com.banhotosa.View.FrmAnimal$2.actionPerformed(FrmAnimal.java:67)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6505)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6270)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:688)
	at java.awt.EventQueue$3.run(EventQueue.java:686)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:702)
	at java.awt.EventQueue$4.run(EventQueue.java:700)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
	at java.awt.Dialog.show(Dialog.java:1082)
	at java.awt.Component.show(Component.java:1651)
	at java.awt.Component.setVisible(Component.java:1603)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at br.com.banhotosa.View.FrmPrincipal.jButton3ActionPerformed(FrmPrincipal.java:264)
	at br.com.banhotosa.View.FrmPrincipal.access$200(FrmPrincipal.java:16)
	at br.com.banhotosa.View.FrmPrincipal$3.actionPerformed(FrmPrincipal.java:81)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6505)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6270)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4861)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4687)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
	at java.awt.EventQueue.access$200(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:688)
	at java.awt.EventQueue$3.run(EventQueue.java:686)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:702)
	at java.awt.EventQueue$4.run(EventQueue.java:700)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
igor_ks

O erro está claro:

Error to try 8 with value Rafael Almeida
java.sql.SQLException: No value specified for parameter 9

Veja o que vc está passando no parametro 8 e no 9 no seu “insert into ? ? ?”

rafaelshock

meu insert é esse

public int AdcionarAnimal(Animal animal) throws SQLException { animal.setCodigo(getNextId("Animal")); String query = "INSERT INTO animal (Codigo, nome_animal, raca, cor, data_nascimento, data_vacina, tipo, obs, cliente) values (?,?,?,?,?,?,?,?,?)"; executeCommand(query, animal.getCodigo(), animal.getNome_animal(), animal.getRaca(), animal.getCor(), animal.getData_nascimento(), animal.getData_vacina(), animal.getTipo(), animal.getObs(), animal.getClientes()); return animal.getCodigo(); }

igor_ks

passa o codigo do executeCommand tb

rafaelshock
public int executeCommand(String query,Object... params) throws SQLException {
        PreparedStatement ps = getStatement(query);
        for (int i = 0; i < params.length; i++) {
            try {
            ps.setObject(i+1, params[i]);
            } catch (Exception e) {
                System.out.println("Error to try "+i+" with value "+params[i]);
            }
        }
michetti

“chutometro” sse eu não me engano o PreparedStatment usa é o setString e não o setObject…

rafaelshock

e como seria então querido??

michetti

Ignora o que falei… agora que eu vi, você esta pegando Objetos… pensei que fossem strings rsrs

rafaelshock

de boa querido… mesmo assim valew… :smiley:

Criado 14 de novembro de 2013
Ultima resposta 21 de nov. de 2013
Respostas 42
Participantes 5