Excluir registro

2 respostas
A

Pessoal estou com um problema aqui, na hora de excluir o registro.

Eu criei uma tabela com uma coluna só (Nomes) com chave primaria, criei JButton com o nome da variavel de excluir
Netbeas IDE. .

segue o código:

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

 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con = DriverManager.getConnection("jdbc:odbc:A1","","");

Statement stmt = con.createStatement();

String exc=B2.getText();
///Esse B2 é do JtTextfield.

int regs=stmt.executeUpdate("DELETE  FROM Nomes WHERE nome=' "+exc+" '");

if(regs!=0){
    JOptionPane.showMessageDialog(this, "REGISTRO EXCLUÍDO COM SUCESSO");}
else
{JOptionPane.showMessageDialog(this, "O REGISTRO NÃO PODE SER EXCLUÍDO");}

stmt.close();
con.close();

}
        catch( SQLException e){ 
JOptionPane.showMessageDialog(this, "ERRO\n " +e.getMessage() );
} catch( ClassNotFoundException e){
JOptionPane.showMessageDialog( this, " Driver não encontrado " );

}         

}

O que eu quero saber é porque toda vez que eu clico no botão excluir, ele não exclui. (aparecendo a mensagem, de não pode ser excluído), juro que já tentei, mas deu em nada. Quem poder me dar um toque explicando direito eu agradeço, eu até pensei a do asterisco “*”, mas eu acho que não é necessário, pois eu definir como primário .

Detalhes:

BD: Access

2 Respostas

marciofermino
amigo tenten assim>
Object[] options = {"  SIM  ", "  NÃO  "};
        int opc = JOptionPane.showOptionDialog(null, "DESEJA EXCLUIR O CADASTRO ?", "EMPRESÁRIO11", JOptionPane.DEFAULT_OPTION, 3, null, options, options[0]);


        if (jTextField1.getText().trim().equals("")) {

        } else if (opc == JOptionPane.YES_OPTION) {

            boolean consulta = true;
            try {

                Class.forName("com.mysql.jdbc.Driver");
                Connection ConectaNoBanco =
                        (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/bd11", "root", "");
                Statement stmt = (Statement) ConectaNoBanco.createStatement();

                String sql = "DELETE FROM cadastros WHERE nome =" + "'" + jTextField1.getText() + "'";
                int rec = stmt.executeUpdate(sql);

                if (consulta) {
                    // JOptionPane.showMessageDialog(null, "DADOS EXCLUÍDOS COM SUCESSO !", "", JOptionPane.PLAIN_MESSAGE);
                    jLabel11.setText("DADOS EXCLUÍDOS COM SUCESSO !");
                    limpar();

                }

                stmt.close();



            } catch (SQLException event) {
                jLabel1.setText("ERRO NO COMANDO SQL " + event.getMessage());
                JOptionPane.showMessageDialog(this, "ERRO NO COMANDO SQL" + event.getMessage());
            } catch (ClassNotFoundException event) {
                jLabel1.setText("DRIVE MySQL NÃO ENCONTRADO  " + event.getMessage());
                JOptionPane.showMessageDialog(this, "DRIVE MySQL NÃO ENCONTRADO" + event.getMessage());
            }

        }
A
private void excluirActionPerformed(java.awt.event.ActionEvent evt) {                                        
try{ //tratamento de erros
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//busca Driver
//conecta no BD
Connection con = DriverManager.getConnection("jdbc:odbc:A1","","");
Statement stmt = con.createStatement(); //objeto comdo sql

String k=B2.getText();

int resg=stmt.executeUpdate("DELETE  FROM cadastros WHERE nome='"+  k+"'");
if(resg !=0)
    JOptionPane.showMessageDialog(this, "REGISTRO EXCLUÍDO COM SUCESSO");
else
    JOptionPane.showMessageDialog(this, "REGISTRO NÃO PODE SER EXCLUÍDO");

stmt.close();
con.close(); 

    }catch( SQLException e){ //trata os erros
JOptionPane.showMessageDialog(this, "ERRO\n " +e.getMessage() );

} catch( ClassNotFoundException e){
JOptionPane.showMessageDialog( this, " Driver não encontrado " );
}

Depois de muita batalha, eu consegui fazer excluir o registro. mas muito obrigado, serviu de muita ajuda. Segue o código acima, no que foi modificado.

Criado 2 de março de 2008
Ultima resposta 2 de mar. de 2008
Respostas 2
Participantes 2