Dúvida com getSelectedRows

Pessoal tenho uma aplicação desktop e pode ser que eu selecione uma linha ou as vezes duas linhas.
Tem dois campos que não grava quando eu seleciono dois itens.
Segue codigo:

public void gravaResultado(){
        int seleciona = tblProdutos.getSelectedRow();
        int[] row_indexes=tblProdutos.getSelectedRows();
        for(int i=0;i<row_indexes.length;i++){
            int j=0;
          String cod_cota=txtCotacao.getText();
          String cod_produto=tblProdutos.getValueAt(row_indexes[i], j++).toString();
          String des_produto=tblProdutos.getValueAt(row_indexes[i], j++).toString();  
          String cod_barra_principal=tblProdutos.getValueAt(row_indexes[i], j++).toString();  
          String qtd_pedido=tblProdutos.getValueAt(row_indexes[i], j++).toString();
          String menor_preco=txtPreco.getText();
          String razao_social=(String) cmbEmpresa.getSelectedItem() ;
          gravar(cod_cota,des_produto,cod_barra_principal,qtd_pedido,menor_preco,cod_produto,razao_social);
        }
    }
    
    private void gravar(String cod_cota, String des_produto,String cod_barra_principal,String qtd_pedido,String menor_preco,String cod_produto,String razao_social){
        String sql = "insert into resultado(cod_cota, des_produto,cod_barra_principal,qtd_pedido, menor_preco,cod_produto, razao_social)"
                + "values (?,?,?,?,?,?,?)";
        String sql2 = "Update produtos set status = 1 where cod_produto = ?";
            try{

                pst = conecta.prepareStatement(sql);
                //NUMERO DA COTAÇÃO
                pst.setString(1, txtCotacao.getText());
                //MENOR_PRECO
                pst.setString(2, des_produto);
                //DES_PRODUTO
                pst.setString(3, cod_barra_principal);
                //COD_BARRA_PRINCIPAL
                pst.setString(4, qtd_pedido);
                //QTD_PEDIDO
                pst.setString(5, menor_preco);
                //COD_PRODUTO
                pst.setString(6, cod_produto);
                //RAZAO_SOCIAL
                pst.setString(7, (String) cmbEmpresa.getSelectedItem());

                pst.execute();

                //statusProduto();
                populaProdutos();
                contaFaltaltes();
                LimpaPreco();
                LimpaFornecedor();
                redimencionaColunas();

            } catch(SQLException error) {
                JOptionPane.showMessageDialog(null, error);
            }
        }

String cod_cota=txtCotacao.getText();
String razao_social=(String) cmbEmpresa.getSelectedItem() ;

Só grava uma vez no banco quando seleciono duas linhas, alguém pode me ajudar por favor

alguem