Exclusão

Boa Noite
Galera to fazendo um trabalho da facul e tenho uma classe que mostra os cadastros gravados no banco de dados (mysqadmin), inseri nesta tabela um botao excluir mas nao estou conseguindo fazer a ação do mesmo, ou seja gostaria de implementa-lo da seguinte forma hora que ele mostrar os dados cadastrados e eu clicar em um e clicar no botao excluir ele excluira o cadastro selecionado
segue o codigo

package livraria;

import javax.swing.*;

import java.awt.*;

import javax.swing.table.;
import java.sql.
;

public class ClientesCadastrados extends JFrame {
public ClientesCadastrados() {
super(“Relatorios de Clientes Cadastrados”);

	final DefaultTableModel modelo = new DefaultTableModel();

	// constr�i a tabela
	JTable tabela = new JTable(modelo);

	// Cria duas tres colunas
	modelo.addColumn("Codigo");
	modelo.addColumn("Nome");
	modelo.addColumn("Endereco");
	modelo.addColumn("RG");
	modelo.addColumn("CPF");
	modelo.addColumn("Telefone");
	modelo.addColumn("DNascimento");
	modelo.addColumn("E-mail");

	// exibe os dados da tabela MySQL
	try {
		Connection bd = Conexao.getConnection();
		// procedimentos para obter os dados de uma tabela
		Statement stmt = bd.createStatement();
		String query = "SELECT codigo, nome, endereco, rg, cpf, telefone, data_nascimento, e_mail FROM cadcliente";
		ResultSet rs = stmt.executeQuery(query);

		while (rs.next()) {
			String codigo = rs.getString("codigo");
			String nome = rs.getString("nome");
			String endereco = rs.getString("endereco");
			String rg = rs.getString("rg");
			String cpf = rs.getString("cpf");
			String telefone = rs.getString("telefone");				
			String data_nascimento= rs.getString("data_nascimento");
			String e_mail = rs.getString("e_mail");

			modelo.addRow(new Object[] { codigo, nome, endereco, rg, cpf, telefone, data_nascimento, e_mail });
		}
		GridBagConstraints c = new GridBagConstraints();
		c.gridx = 1; //posiciona na coluna
		c.gridy = 1;//posiciona na linha
       JButton jDExcluir = new JButton("Excluir"); //>>>>>>>>IMPLEMENTAR ESTE BOTAO
		add(jDExcluir);		
		jDExcluir.addActionListener(new java.awt.event.ActionListener() {
			public void actionPerformed(java.awt.event.ActionEvent e) {
			}
		});
	
	} catch (SQLException ex) {
		System.out.println("SQLException: " + ex.getMessage());
		System.out.println("SQLState: " + ex.getSQLState());
		System.out.println("VendorError: " + ex.getErrorCode());
	} catch (Exception e) {
		System.out.println("Problemas ao tentar conectar com o banco de dados");
	}
	// fim MySQL

	tabela.setPreferredScrollableViewportSize(new Dimension(800, 900));

	Container c = getContentPane();
	c.setLayout(new FlowLayout());

	JScrollPane scrollPane = new JScrollPane(tabela);
	c.add(scrollPane);

	setSize(800, 900);
	setVisible(true);
	}
	}

Oi,

http://mballem.wordpress.com/2011/02/21/utilizando-swing-com-banco-de-dados/

http://www.guj.com.br/posts/list/50115.java

Legal esse blog com o tuturial Swing + BD + MVC…

Eu achava que na maioria das vezes (aplicação MVC para desktop) os Controllers implementavam actionListener.
De qualquer maneira misturar persistencia e qualquer outra camada não rola. :slight_smile:

Abraços

:shock: :shock: :shock: :shock: Continuo na mesma!!! :frowning:

KD o evento do botao excluir ? […]

Dentro do evento do botão excluir vc vai chamar um método que exclua o objeto em questão… simples uai.

String SQL = "DELETE FROM cadcliente WHERE codigo = "+ exc;
Connection bd = Conexao.getConnection();
PreparedStatement stmt = null;
try {
stmt = bd.prepareStatement(SQL);
stmt.executeUpdate();
stmt.close();
bd.close();
} catch (SQLException es) {
JOptionPane.showMessageDialog(null, this, “Erro no Banco”, 0);
}

Ta ai, mas com esta ação so consigo a exclusão atraves de um codigo que eu tenha digitada e eu queria fazer a exclusão sem digitar codigo, ou seja, clicar em cima de algum cadastro e clicar no botao excluir e ele excluir o cadastro que eu tiver clicado em cima.

Então vc precisa de dois eventos:

o evento na JTable que vai tratar linha selecionada… aí dentro desse evento voce vai carregar o ID do cliente em uma variavel qualquer,
e quando o cara clicar em delete, o outro código vou deletar o usuario usando o evento actionPerformed no botão excluir.

Fabinho, leia o segundo item que a Anime postou para você:
http://www.guj.com.br/posts/list/50115.java

Além disso, ao postar dúvidas sobre interface gráfica no fórum de interface gráfica. E dúvidas sobre bancos de dados no fórum de persistência.
O java básico é só se você tiver dúvida sobre como funciona um for, while, ou outro elemento básico da linguagem.

tenta dessa forma e vê se dar certo mas muda tem que mudar tbm

[code]
public boolean delete(String cod){

	try { 
		con = DAOConexao.getConn(); 
		String sql = "DELETE FROM tb_Clientes where CodigoImprCliente  = '" + 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; 
}

}[/code]

ok galera montei com o codigo que eu demonstrei acima mesmo, utilizando um codigo digitado valeu a força :stuck_out_tongue: :stuck_out_tongue: