AJUDA COM SQL (postgres) + netbeans [RESOLVIDO]

BOm dia, gostaria de saber se alguem tem alguma solucao pro meu caso e se poderia me passar alguma forma de o fazer.:

utilizo BD Postgres, e no meu formulario de venda(netbeans) eu queria excluir de uma jTable os ultimos itens, tipo de baixo pra cima, caso o usuario tenha errado ao ecolher o item ou simplesmente nao o queira. eu os adiciono atraves de um combobox etc e tals…

Exemplo: Deletando todos os itens da nota numero 1 eu consigo o fazer.
Mas eu queria ir deletando cada item, porque pode ser que eu queira manter alguns itens adicionados.

Preciso resolver logo, pois é o trabalho do meu estagio. e sou iniciante em java tbm.

[code] try

    {
        
        String sql = "select * from produtosvenda where vend_codigonotaf =  "+tf_codigo.getText();
        con_prodvenda.executeSQL(sql);
        con_prodvenda.resultset.last();
        
        String nome = "Deletar o ITEM : "+con_prodvenda.resultset.getString("vend_nomeproduto")+"?";
        int opcao_escolhida = JOptionPane.showConfirmDialog(null,nome,"Exclusão ",JOptionPane.YES_NO_OPTION);
        if(opcao_escolhida == JOptionPane.YES_OPTION)
    {
            
            sql = "Delete from produtosvenda  vend_codvenda  where vend_codigonotaf="+tf_codigo.getText();
            int conseguiu_excluir = con_prodvenda.statement.executeUpdate(sql);
            if (conseguiu_excluir == 1)
                
            {
                
                JOptionPane.showMessageDialog(null,"Exclusão realizada com sucesso!!");
                //atualiza o resultset
                
                con_prodvenda.executeSQL("select * from produtosvenda");
                
                con_prodvenda.resultset.next();
                preencher_jtable();
                mostrar_dados();
                
            }
            
        }
        
        else
            return;
        
    }
    
    catch(SQLException erro)

{

        JOptionPane.showMessageDialog(null,"Erro ao excluir o registro..."+erro);
       
    }
    [/code]


Você pode fazer algo do tipo:

private void acaoRemoverItem(){
        int linha = jTableVda.getSelectedRow();
        if (linha == -1) {
            JOptionPane.showMessageDialog(null, "Nenhum registro selecionado");
            return;
        }
        int resp = JOptionPane.showOptionDialog(null, "Deseja realmente excluir o registro?",
                "Confirmação de exclusão.",
                JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE,
                null, new String[]{"Sim", "Não"}, null);
        if (resp != 0) {
            return;
        }
        

      // pega o numero do item da nota a ser excluido
       item = jTableVda.getValueAt(linha, colunaDoItem);

       //coloque aqui o codigo para deletar no banco de dados usando where nota = x and item = item 
    }

não sei se deu p/ entender, mas o que vale é a intenção.

[code] item = jTableVda.getValueAt(linha, colunaDoItem);

   //coloque aqui o codigo para deletar no banco de dados usando where nota = x and item = item   
}  

[/code]
cara ai em cima ate que entendi mais ou menus os esquema, agora qdo vc fala pra colocar o codigo sql, nao da certo deleta tudo de uma vez, podeira ser mais especifico por favor? se puder escrever com base nos dados que eu passei. Me ajudaria em Muito.
Desde ja Obrigado gilson_gp.

Bom, a idéia é o seguinte:

O seu banco de dados deve ter o seguinte esquema:

Nota 0001
     ITEM 01 PRODUTO 1
     ITEM 02 PRODUTO 2
     ITEM 03 PRODUTO 3

Nota xxxx
    ITEM 01 PRODUTO X
    ITEM 02 PRODUTO Y

O código que te passei permite que o usuário selecione no grid o item que ele quer deletar

vamos supor que ele esteja trabalhando na nota 0001 e queira deletar o item 02.

o seu grid deve ser algo do tipo:

|ITEM | CODIGO | DESCRICAO DO PRODUTO | QUANTIDADE | PREÇO | DESCONTO | ....
 01       1               PRODUTO 1                           1,0               1,25        0,0
 02       2               PRODUTO 2                           2,0               0,80        0,0
 03       3               PRODUTO 3                           1,0               2,45        0,0

a parte do código que vc não entendeu ficaria desse jeito:

    item = jTableVda.getValueAt(linha, 0 /*colunaDoItem*/);     // aki a variavel  item vai receber o valor 2
    
    sql = "Delete from produtosvenda  vend_codvenda  where vend_codigonotaf="+tf_codigo.getText() + " and nome_da_coluna_item = " + String.valueOf(item);  
    // essa sql ficaria algo do tipo: delete from produtosvenda where vend_codigonotaf = 000001 and nome_da_coluna_item = 2;

    int conseguiu_excluir = con_prodvenda.statement.executeUpdate(sql);

lembre-se de substituir o nome_da_coluna_item com o nome da coluna no seu banco de dados.

Espero ter sido mais claro agora.

Caro amigo Gilson,

Ficou perfeito.
Muito obrigado pelas dicas, e acabo de aprender mais um metodo(se é que se pode chamar assim), para meus estudos em java.
Entendi sim com essa ultima explicacao sua e ficou PERFEITO. Pra te falar a verdade eu nao tinha assimilado que eu teria que clicar na Table dando assim a selecao do item. Achava que somente com a acao do botao ele iria deleta-lo para mim. Voce é fera no assunto.
Muito obrigado pela ajuda amigo.

Que bom que deu certo.

O pessoal aqui do GUJ já me ajudou muito, então a unica forma de retribuir e ajudando os outros também.

Boa sorte ai no seu estagio, e qualquer dúvida GUJ.