Excluir um item selecionado pelo Jcombobox? [RESOLVIDO]

Tenho um Jcombobox que carrega os dados do meu banco de dados:

Assim:

Curso:[______________________]

                      [Salvar] [Excluir]

Quero Usar o Jcombobox para Excluir um item selecionado nele!!!

Como faço!!!

Segue meu codigo!!!

private void bt_excluirActionPerformed(java.awt.event.ActionEvent evt) {                                           
    try {

            Class.forName("com.mysql.jdbc.Driver");

            Connection conn;

            conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/funcionario","root","11111");

            String query = "DELETE FROM dados_curso WHERE curso_cadastrado = (?)" ;

            PreparedStatement stmt = conn.prepareStatement(query);
            
            //Consegui desenvolver o codigo ate aqui!!!


        } catch (ClassNotFoundException classNotFound){
            classNotFound.printStackTrace();
            System.exit(1);

        } catch (SQLException sqlException){
            sqlException.printStackTrace();
            System.exit(1);



        }

    }    

Se o modelo de dados do seu JComboBox for um DefaultComboBoxModel (e muito provavelmente é), basta usar o método removeElement() ou removeElementAt():

[quote=roger_rf]Se o modelo de dados do seu JComboBox for um DefaultComboBoxModel (e muito provavelmente é), basta usar o método removeElement() ou removeElementAt():

No indice do obejto a excluir quero excluir qual estiver selecionado pelo mouse!!!

fiz desse jeito!!!

private void bt_excluirActionPerformed(java.awt.event.ActionEvent evt) {                                           
    try {

            Class.forName("com.mysql.jdbc.Driver");

            Connection conn;

            conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/funcionario","root","11111");

            String query = "DELETE FROM dados_curso WHERE curso_cadastrado = (?)" ;

            PreparedStatement stmt = conn.prepareStatement(query);

           ((DefaultComboBoxModel) cb_curso.getModel()).removeElementAt(cb_curso.getSelectedIndex());
            
            
            stmt.executeUpdate();
            
       
            stmt.close();
            conn.close();
            
        } catch (ClassNotFoundException classNotFound){
            classNotFound.printStackTrace();
            System.exit(1);

        } catch (SQLException sqlException){
            sqlException.printStackTrace();
            System.exit(1);




        }

    }  

Mas deu erro de SQL, segue o erro!!!

java.sql.SQLException: No value specified for parameter 1
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)

Este erro não está relacionado à exclusão do item na ComboBox. Você se esqueceu de informar ao PreparedStatement o código do curso que queria excluir:

stmt.setObject(1, codigoDoCursoAExcluir);
stmt.executeUpdate();
private void bt_excluirActionPerformed(java.awt.event.ActionEvent evt) {                                           
    try {

            Class.forName("com.mysql.jdbc.Driver");

            Connection conn;

            conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/funcionario","root","11111");

            String query = "DELETE FROM dados_curso WHERE curso_cadastrado = (?)" ;

            PreparedStatement stmt = conn.prepareStatement(query);

           ((DefaultComboBoxModel) cb_curso.getModel()).removeElementAt(cb_curso.getSelectedIndex());

            stmt.setObject(1, cb_curso);

            
            stmt.executeUpdate();
            
       
            stmt.close();
            conn.close();
            
        } catch (ClassNotFoundException classNotFound){
            classNotFound.printStackTrace();
            System.exit(1);

        } catch (SQLException sqlException){
            sqlException.printStackTrace();
            System.exit(1);




        }

    }                                     

Valeu cara Funcionou!!! Fiz desse jeito!!!

Opa ainda não esta excluindo!!!

ELe exclui na hora da execução, mas depois que eu fecho o aplicativo e volto a exeutar novamente, ele não exclui do banco!!!

Cada elemento da ComboBox não corresponde a um curso? Você deveria fazer assim:

stmt.setObject(1, [chave primária do curso selecionado na ComboBox]);

Da maneira que você está fazendo, você passando A PRÓPRIA COMBOBOX para stmt.setObject(), não a chave primária do elemento a excluir.

Pronto agora sim

 private void bt_excluirActionPerformed(java.awt.event.ActionEvent evt) {                                           
    try {

            Class.forName("com.mysql.jdbc.Driver");

            Connection conn;

            conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/funcionario","root","11111");

            String query = "DELETE FROM dados_curso WHERE curso_cadastrado = (?)" ;

            PreparedStatement stmt = conn.prepareStatement(query);

            stmt.setString(1, (String) cb_curso.getSelectedItem());

            stmt.executeUpdate();

            atualizar_cb();
            
       
            stmt.close();
            conn.close();
            
        } catch (ClassNotFoundException classNotFound){
            classNotFound.printStackTrace();
            System.exit(1);

        } catch (SQLException sqlException){
            sqlException.printStackTrace();
            System.exit(1);




        }

    }