Pessoal blz?
Aqui estou eu com uma situaçao que eu nao consegui entender
tenho uma tabela no banco sem informacoes, que possue um campo chamado de sequencia, onde a cada novo cadastro, segue a sequencia certinho
Porem, estou com um problema no banco, esta invertendo umas posicoes. Nao sei se entenderam direito, por isso vo postar umas imagens e parte do codigo para vcs entenderem, e se possivel me ajudarem nessta questao, obrigado desde ja.

Quando apertar no botao novo, ele vai habilita alguns textfields para inserir informacao, e o numero do titulo ele verifica a maior sequencia no banco, para obter a proxima sequencia. Segue abaixo essa parte do codigo
private void addtitulo() throws SQLException {
ResultSet novo_p = null;
try {
novo_p = conn.prepareStatement("select NVL(MAX(nr_sequencia),0) from fin_cpa").executeQuery();
if (novo_p.next()) {
int novo_nr_seq = novo_p.getInt(1);
System.out.println("VALOR SEQUENCIA BANCO "+novo_nr_seq);//debug para testar passagem
if (novo_nr_seq == 0) {
novo_nr_seq = 1;
System.out.println("SEQUENCIA 0 BANCO, recebeu "+novo_nr_seq);//debug para testar passagem
} else {
novo_nr_seq = novo_nr_seq + 1;
System.out.println("SEQUENCIA DIFERENTE 0 BANCO vai ser," +novo_nr_seq);//debug para testar passagem
}
nrseq.setText(Integer.toString(novo_nr_seq));
nmtitulo.setEditable(true);
valortit.setEditable(true);
dtvenc.setEditable(true);
vljuros.setEditable(true);
vlmulta.setEditable(true);
vldesc.setEditable(true);
novo.setEnabled(false);
salvar.setEnabled(true);
} else {
JOptionPane.showMessageDialog(null, "Nao foi possivel obter a sequencia do titulo");
}
} catch (Exception b){
JOptionPane.showMessageDialog(null, "ERRO:" +b);
}
}
Depois disso, a primeira insersao no banco ocorre corretaente, a segunda tambem, mas quando pressio novo pela terceira vez, na aplicacao ele traz corretamente o numero da sequencia 3, mas no banco, salva na sequencia do sqldeveloper 1…

Esse eh o metodo responsavel por gravar no banco os dados, quando aperto no botao salvar na aplicacao.
private void gravar() {
try {
int nr_seq_p = Integer.parseInt(nrseq.getText());
String nmtitulo_p = nmtitulo.getText();
String dtvenc_p = dtvenc.getText();
double valortitulo_p = (Double) valortit.getValue();
System.out.println(valortitulo_p);
double valormulta_p = (Double) vlmulta.getValue();
double valorjuros_p = (Double) vljuros.getValue();
double vldesc_p = (Double) vldesc.getValue();
System.out.println(valormulta_p);
System.out.println(valorjuros_p);
System.out.println(vldesc_p);
String nm_usuario_p = usuario_on;
CallableStatement cs = conn.prepareCall("{call fin_cpa_gravar(:nr_seq_p, :nmtitulo_p, :dtvenc_p, :valortit_p, :valormulta_p, :valorjuros_p, :vldesc_p, :nm_usuario_p)}");
cs.setInt(1, nr_seq_p);
cs.setString(2, nmtitulo_p);
cs.setString(3, dtvenc_p);
cs.setDouble(4, valortitulo_p);
cs.setDouble(5, valormulta_p);
cs.setDouble(6, valorjuros_p);
cs.setDouble(7, vldesc_p);
cs.setString(8, nm_usuario_p);
cs.execute();
novo.setEnabled(true);
salvar.setEnabled(false);
} catch (Exception er) {
System.out.println(er);
}
}
Alguem poderia me ajudar a identificar o motivo desta sequencia incorreta?
Obs.: sei que o codigo nao ta muito bom, mas to começando ainda.
A segunda imagem ficou pequena, vo postar aqui em baixo o resultado final, mostrando o resultado do select, demonstrando a sequencia errada
