Apagar dados da celula selecionada no jTable

10 respostas
Luciano_Lopes

Pessoal,como fazer para deletar um registro do banco de dados que esta em um jtable?Tipo,quero apagar somente o registro que eu selecionar,alguem pode me dar uma força?Vlw

10 Respostas

pedroroxd
Assim você vai excluir do banco de dados:
int k = jTable1.getSelectedRow();
    String id = (String) jTable1.getValueAt(k, 0);

    Statement stmt = connection.createStatement();
    String sql = "Delete from NOME DA SUA TABELA where id = "+id+" ";
    stmt.executeUpdate(sql);
Depois basta excluir a linha da tabela:
if (jTable1.getSelectedRow() >= 0){
              dtm.removeRow(jTable1.getSelectedRow());
            }
pedroroxd

Nesse caso, ele vai deletar a linha que a pessoa selecionou da tabela…
Você já conseguiu fazer a tabela conectar com o banco né?
Então é só isso…

Qualquer outra dúvida poste aqui…
Se sua dúvida já foi resolvida, acrescente [RESOLVIDO] depois do assunto do tópico.

[]'s

Luciano_Lopes

Cara,funcionou legal aqui,mas você pode me explicar os códigos,é que ainda to iniciando :oops:

pedroroxd
Ok..
if (jTable1.getSelectedRow() >= 0){ 
   jTable1.removeRow(jTable1.getSelectedRow());  
 }
Se a linha selecionada for maior que 0, ele vai remover a linha da tabela...
int k = jTable1.getSelectedRow();  
      String id = (String) jTable1.getValueAt(k, 0);  
      
      Statement stmt = connection.createStatement();  
      String sql = "Delete from NOME DA SUA TABELA where id = "+id+" ";  
      stmt.executeUpdate(sql);

[list]O k vai pegar a linha da tabela que esta selecionada...[/list]
[list]Geralmente o ID fica na primeira coluna... Entao a variavel id, vai pegar o valor que esta na linha k, e na coluna 0, o que seria o ID da linha q voce quer deletar...[/list]
[list]O comando Sql, vai deletar a linha de SUA TABELA, onde o id for igual ao variavel id que foi pega (pontinho acima) [/list]

Luciano_Lopes

Entendi,e esses aqui:

String id = (String)//é para converter para string?
jTable1.getValueAt//Pega o valor da celula "k"na coluna “0”? (k, 0);

pedroroxd

1) Sim
2) No jTable1.getValueAt(k, 0):
O k eh um numero Inteiro, que vai pegar o numero da Linha selecionada (Ex: Linha 4), e Coluna 0. Ou seja, ele vai pegar o valor na Linha4, Coluna 0, qeu seria o ID do produto (ou coisa) que esta na linha 4… Depois ele simplesmente iria deletar do banco de dados, onde o ID for o “id” que ele pegou…

Luciano_Lopes

Aproveitando o tópico,como faz para aparecer o nome do produto atravez do id que ta no jtable?

Luciano_Lopes

Alguem?

Luciano_Lopes

up

criador

Você faz um select no seu banco de dados inserindo na cláusula where, o ID que você quer pesquisar.
Como este ID é chave-primária (pelo menos deveria ser neste seu caso), ele retornará somente um produto.

"select Produto from TABELA where ID = '10'"

Porém, este ID = ‘10’ será o valor da linha selecionada na sua tabela.

Abraço!

Criado 23 de setembro de 2009
Ultima resposta 25 de set. de 2009
Respostas 10
Participantes 3