1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro salvar um formulário puxando um select em um combobox empresa e populando outro combobox com funcionarios ?

Olá, Boa tarde!

Estou criando um formulário de nome Chamado com 6 campos, sendo dois jcombobox e 4 txtfield.

Um jcombobox de nome empresa puxa um select na tabela empresa e o outro jcombobox puxa os funcionários dessa empresa selecionada no primeiro jcombobox e o meu problema é que quando vou salvar isso tudo na tabela Chamado da uma mensagem de erro:

MSG de erro:

"Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to model.bean.Funcionario"

CÓDIGO - jcombobox empresa

public Principal() { initComponents(); EmpresaDAO edao = new EmpresaDAO(); for (Empresa e : edao.read()) { combo_emp.addItem(e); } AutoCompleteDecorator.decorate(combo_emp); }

CÓDIGO - Popula JcomboBox funcionario

private void combo_empActionPerformed(java.awt.event.ActionEvent evt) { combo_func.removeAllItems(); FuncionarioDAO fdao = new FuncionarioDAO(); ArrayList<Funcionario> list = fdao.getData((Empresa) combo_emp.getSelectedItem()); for (int i = 0; i < list.size(); i++) { combo_func.addItem(list.get(i).getNome()); } }

Função salvar Chamado

Chamado c = new Chamado();
        Empresa empresa = (Empresa) combo_emp.getSelectedItem();
        Funcionario  funcionario = (Funcionario) combo_func.getSelectedItem();
        ChamadoDAO cdao = new ChamadoDAO();

        empresa.getId_emp();
        funcionario.getId_func();
        c.setFone(txt_telefone_chamado.getText());
        c.setTitulo(txt_titulo_chamado.getText());
        c.setTexto(txt_chamado_desc.getText());
        c.setTags(txt_tag1.getText());
        cdao.Cad_Chamado(empresa, funcionario, c);

        txt_titulo_chamado.setText("");
        txt_telefone_chamado.setText("");
        txt_chamado_desc.setText("");
        txt_tag1.setText("");

    }

Função Cad_Chamado

public void Cad_Chamado(Empresa e, Funcionario f, Chamado c) {

        Connection con = ConnectionFactory.getConnection();
        PreparedStatement stmt = null;

        try {
            stmt = con.prepareStatement("INSERT INTO chamado (`id_emp`, `id_func`, `fone`, `titulo`, `texto`, `tags`) VALUES (?, ?, ?, ?, ?, ?)");
            stmt.setInt(1, e.getId_emp());
            stmt.setInt(2, f.getId_func());
            stmt.setString(3, c.getFone());
            stmt.setString(4, c.getTitulo());
            stmt.setString(5, c.getTexto());
            stmt.setString(6, c.getTags());
            stmt.executeUpdate();
            JOptionPane.showMessageDialog(null, "Salvo com sucesso!");
        } catch (SQLException ex) {
            System.out.println(ex);
        } finally {
            ConnectionFactory.closeConnection(con, stmt);
        }

Desde já obrigado pela atenção

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags java mysql ou faça a sua própria pergunta.