Delete from tabela.[RESOLVIDO]

6 respostas
L

pessoal não estou conseguindo excluir os dados do banco ...

vou postar o que acontece

//cadastro delete

public boolean delete(String cod){

		try { 


			con = DAOConexao.getConn(); 

			//String sql = " DELETE FROM tb_Cadastro where codigo = %s ";

			String sql = "DELETE FROM tb_Cadastro where codigo = " + cod;
			pstm = con.prepareStatement(sql);
			pstm.executeUpdate();



		}catch(Exception e){
			System.out.println(e.toString());
		}finally{

			try{
				pstm.close(); 
				//con.close();
			}
			catch(Exception e){


			} 		
		} 		

		return true; 

	}

//botão delete no frame

private void btnDelActionPerformed(java.awt.event.ActionEvent evt) {

		Mensagem mensagem = new Mensagem(this, "Confirmação", "Deseja excluir cadastro ", Mensagem.MSG_BOTAO_SIM_NAO_CANCELA, Mensagem.MSG_ICONE_PERGUNTA);
		if (mensagem.getBotaoClicado() == Mensagem.MSG_CLICK_SIM ) 
		{
			
String cod = txtDel.getText(); // o problema é que não tenhu mais esse txtDel..pq não preciso digitar um numero a ser excluido apenas o botão.
			

                                              if(cod != null && !cod.equals("")){ 
				cad.delete(cod);
			}
			System.out.println(" Item Deletado!!! ");

			new Mensagem(this, "Aviso", "Item deletado", Mensagem.MSG_BOTAO_OK, Mensagem.MSG_ICONE_ERRO);

			//limpaDados();
		}
	}

// classe controlle

public boolean delete(String cod) {

		return dao.delete(cod);
	}

6 Respostas

david.cs20

Mais antes vc precisava digitar o numero para excluir ?

rockstorm

qual o erro?

S

verifique primeiro se o parametro esta chegando.
mande imprimir na tela de console:

System.out.println(cod);

//se estiver, faça o codigo da seguinte maneira

PreparedStatement prepare = null;
String sql =  "delete from tb_Cadastro where codigo=?;";
try{
prepare= con.prepareStatement(sql);
prepare.setString(1,cod);
prepare.execute();
} catch (SQLException e) {
e.printStackTrace();
}finally{
if(prepare!=null){
try {					
prepare.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
L

então antes eu tinha um campo pra digitar o codigo para exclusão , mas naum achu necessario !

Pq eu não vo saber qual codigo eu kero excluir que foi cadastrado…então o que pretendo fazer é qq consultar depois excluo o produto!!!

mas não esta dando certo!!

no console não da erro !

david.cs20

Cara a meu ver por questoes de boas praticas eu sempre gosto de saber o codigo do registro que estou excluindo.
Nao sei quais são seus motivos para nao querer saber. Mais e uma coisa que eu lhe aconselho sempre exibir.

No seu caso vc pode programar um evento no botão a qual chame um evento na camada de dados. Da seguinte maneira: Evento do Botão:
private void ExcluirActionPerformed(java.awt.event.ActionEvent evt) {

        CadastroControle cadastro = new CadastroControle();
        Cadastro a = new Cadastro();

        a.setMatricula(Integer.parseInt(Matricula.getText()));

        try {

            cadastro.deletar(a);
            JOptionPane.showMessageDialog(null,"Dado Deletado Com Sucesso!","", JOptionPane.INFORMATION_MESSAGE);

        } catch (SQLException ex) {
            JOptionPane.showMessageDialog(null,"Erro no SQL " + ex.getMessage(),"", JOptionPane.ERROR_MESSAGE);
        } catch (ClassNotFoundException ex) {
            JOptionPane.showMessageDialog(null,"Driver não Encontrado " + ex.getMessage(),"", JOptionPane.ERROR_MESSAGE);
        }


    }
Ae vc programa a exclução em uma outra classe:
public void deletar(int matricula) throws SQLException, ClassNotFoundException
    {
        
            ConectarBanco cb = new ConectarBanco();
            Statement stm = cb.conectar();
            String comando="DELETE FROM celular WHERE matricula = " + matricula + ";";
            stm.executeUpdate(comando);
      
    }

Trabalhando dessa maneira acredito eu que ira funcionar. Alem de vc ter seu codigo um pouco melhor desenvolvido.
Bons codigos

AnDrOiDe

isso me ajudo brother estava com o msm problema!

Criado 17 de setembro de 2010
Ultima resposta 20 de set. de 2010
Respostas 6
Participantes 5