[RESOLVIDO] Bug ao adicionar no BD

Gente to com um problema meio estranho aqui!

É assim, eu tenho uma JTable e dela eu adiciono, excluo e altero registos do BD (PostGresql), tudo funciona direitinho, mas quando eu excluo um registro da tabela se eu inserir um logo após este não é adicionado no banco, codigo abaixo:

Botão excluir

private void btnExcluiActionPerformed(java.awt.event.ActionEvent evt) {
        if(tabelaTeste.getSelectedRow()!= -1){
            gt.excluiRegistro("DELETE FROM teste WHERE proximo = "+ modelo.getValueAt(tabelaTeste.getSelectedRow(), 0) + ";");
            modelo.removeRow(tabelaTeste.getSelectedRow());
        }
        else{
            JOptionPane.showMessageDialog(null, "Uma linha da tabela deve estar selecionada","Cuidado", JOptionPane.WARNING_MESSAGE);
        }
}

Botão Sair (Faz alterações no BD)

private void btnSairActionPerformed(java.awt.event.ActionEvent evt) {                                        
        String[] tabela = new String[3];
        String matriz [][] = new String[10][3];  
        
        try{
            for(int j = 0; j < tabelaTeste.getRowCount()-1; j++){
                for(int i = 0; i < tabelaTeste.getColumnCount(); i++){
                    tabela[i] = (String) tabelaTeste.getValueAt(j, i);
                }
                for(int k = 0; k < tabelaTeste.getColumnCount(); k++){
                    matriz[j][k] = tabela[k];
                }
            }
        }
        catch(NullPointerException npe){
            npe.printStackTrace();
        }

        String colNome = "";
        String colLP = "";
        String colProx = "";

        try{
            rs.last();
            int linhasNoBD = rs.getRow();
            
            if(linhasNoBD != 0){
                rs.first();
            }
            if((tabelaTeste.getRowCount() -1) == 0){
                this.dispose();
                return;
            }

            for(int i = 0; i < linhasNoBD; i++){
               if(rs.getString(1).equalsIgnoreCase(matriz[i][0])){ // Alterar
                    colProx = matriz[i][0];
                    colNome = matriz[i][1];
                    colLP = matriz [i][2];
                    gt.alteraRegistro("UPDATE teste SET Nome = '"+colNome+"', Linguagem = '"+colLP+"' WHERE Proximo = '"+colProx+"';");
               }
               rs.next();
            }

            if(linhasNoBD < tabelaTeste.getRowCount()){ // Adicionar e tentando naum dar ioobe
                for(int j = linhasNoBD; j < tabelaTeste.getRowCount()-1; j++){
                    colNome = matriz[j][1];
                    colLP = matriz[j][2];
                    gt.adicionaRegistro("INSERT INTO teste (Nome, Linguagem) VALUES ('"+colNome+"', '"+colLP+"');");
                }
            }
        }
        catch (SQLException sqle){
            sqle.printStackTrace();
        }
        catch(NullPointerException npe){
            npe.printStackTrace();
        }
        this.dispose();
    }

Se puderem me ajudar agradeço muito! =D

Não parece errado, vê se o postgree tem autocommit.
E evite montar query concatenando parametros, assim você vai deixar seu sistema exposto a sql injection.

Como assim autoCommit?

Como eu resolveria o problema de SQL injection!

Gente verifiquei mais uma coisa, se eu adicionar mais de um registro após deletar outro, todos registros são adicionados menos o primeiro que eu adicionei após a exclusão! :?

Mais uma informação: o numero de registros que não são adicionados após a exclusão é igual ao numero de registros que eu excluí!

EXEMPLO:

Excluí 2 registros
Adicionei 4 registros

No BD, só será adicionado 2 registros!

Alguem?

tem algo de errado ai!
execute o INSERT no banco e veja se acontece isso!

tem algo de errado e pode ser seu código!

vlw

[quote=UMC]tem algo de errado ai!
execute o INSERT no banco e veja se acontece isso!

tem algo de errado e pode ser seu código!

vlw[/quote]

Bom amigo, não qrendo ser grosso, mas eu sei q tem algo errado!

Tipo acho q o problema não é no INSERT pq se eu insiro mais gente após excluir o sistema insere, mas apenas o numero de pessoas que eu adicionei a mais do que exclui como expliquei acima, acho que deve ser algum dos meus if’s onde uma variavel eh decrementada e outra não! tenho q analisar isso

Gente Achei o erro, como eu pensava era uma das minhas variaveis q andava em um dos meus loop’s!

a variavel “j” do loop onde tem o INSERT no BD ela recebe o numero errado da variavel “linhasNoBD”, falta só ver como resolver isso!

:?

Consegui resolver, era um troço mto idiota ¬¬ , mas deixa em off