Olá Pessoal,
Tenho uma classe que executa uma consulta no Mysql e mostra o resultado em uma Jtable, preciso deletar um registro na table e no BD quando ele for selecionado na Jtable como faço isso, segue o código:
public class JanelaConsulta extends JFrame implements ActionListener{
JButton Alterar;
JButton Excluir;
JButton Fechar;
static public String SMarca, SModelo, SCor, SAno, SPreco, SObservacoes;
static public Connection conexao = null;
static public ResultSet resultado = null;
static public Statement instrucao = null;
static public String caminho = “jdbc:mysql://127.0.0.1:3306/java”;
public JanelaConsulta () {
setTitle(“Consulta dos Dados Cadastrados”);
setSize(580, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
Alterar = new JButton(“Alterar”);
Alterar.setActionCommand(“Alterar”);
Excluir = new JButton(“Excluir”);
Excluir.setActionCommand(“Excluir”);
Fechar = new JButton(“Fechar”);
Fechar.setActionCommand(“Fechar”);
Alterar.addActionListener(this);
Fechar.addActionListener(this);
Excluir.addActionListener(this);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel painel = new JPanel();
Container c = getContentPane();
c.setLayout(new FlowLayout());
c.add(Alterar);
c.add(Excluir);
c.add(Fechar);
JTable tabela = getJanelaConsulta();
JScrollPane scroll = new JScrollPane(tabela);
tabela.setPreferredScrollableViewportSize(new Dimension(500, 95));
getContentPane().add(scroll, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e) {
if (“Fechar”.equals(e.getActionCommand())) {
dispose();
}
if (“Alterar”.equals(e.getActionCommand())) {
}
if (“Excluir”.equals()) {e.getActionCommand()
}
}
private JTable getJanelaConsulta() {
try {
System.out.println(“1. registra o driver”);
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
System.out.println("2. ");
conexao = DriverManager.getConnection(caminho, “teste”, “123”);
instrucao = conexao.createStatement();
System.out.println(“3. executa query”);
String sql = “SELECT * FROM carros ORDER BY Marca”;
resultado = instrucao.executeQuery(sql);
Vector colunas = new Vector();
colunas.add(“Marca”);
colunas.add(“Modelo”);
colunas.add(“Cor”);
colunas.add(“Ano”);
colunas.add(“Preço”);
colunas.add(“Observações”);
Vector dados = new Vector();
while (resultado.next()) {
Vector linha = new Vector();
SMarca = resultado.getString(“Marca”);
SModelo = resultado.getString(“Modelo”);
SCor = resultado.getString(“Cor”);
SAno = resultado.getString(“Ano”);
SPreco = resultado.getString(“Preco”);
SObservacoes = resultado.getString(“Observacoes”);
linha.add(SMarca);
linha.add(SModelo);
linha.add(SCor);
linha.add(SAno);
linha.add(SPreco);
linha.add(SObservacoes);
dados.add(linha);
}
JTable table = new JTable(dados, colunas);
return table;
}
catch (SQLException E) {
System.out.println("---------------------------------");
System.out.println(“Erro ao acessar o banco de dados”);
System.out.println("SQLException: " + E.getMessage());
System.out.println(“SQLState: " + E.getSQLState());
System.out.println(“VendorError: " + E.getErrorCode());
System.out.println(”---------------------------------”);
E.printStackTrace();
return null;
}
}
}
Obrigado,
Mauro