[RESOLVIDO] Como mostra o ID que foi gerado pelo banco no JOptionPane.showMessageDialog?

Posso mostrar pro usurário no JOptionPane, junto com a mensagem de confirmação, o número que foi adicionado, assim ia ser mais fácil pra pesquisar

JOptionPane.showMessageDialog(this, " Ordem de Acampamento Adicionado com Sucesso!!");

JOptionPane.showMessageDialog(this, "A ordem de nº " + numeroOrdem + " foi adicionada com sucesso!");
2 curtidas

Tentei como vc falou, mas não deu, dai pensei em fazer com 3 opões, uma cancelar, imprimir e ok. Só que como vou chamar a ordem salva imprimir quando a pessoa clicar em imprimir.

identar texto pré-formatado por 4 espaços     

            int adicionado = pst.executeUpdate();
            if (adicionado > 0) {
                Object[] opcoes = {"OK", "Recibo","Cancelar"}; 

JOptionPane.showOptionDialog( null , “Ordem de Acampamento Adicionado com Sucesso” , “Confirmação”,
JOptionPane.YES_NO_CANCEL_OPTION , JOptionPane.PLAIN_MESSAGE ,null ,
opcoes , “Recibo”);
//JOptionPane.showMessageDialog(this, " Ordem de Acampamento Adicionado com Sucesso!!");

                Situ.setSelectedItem(null);
                AreaAcamp.setText(null);
           ValorDia.setText(null);
                DiasAcampado.setText(null);
                //TelaPrincipal.atendente.setText(null);
                VAcampamento.setText(null);
                OB.setText(null);
                IdCamp.setText(null);

            }
        }

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

}

Nao deu pq? deu erro? Pra vc mostrar esse resultado, vc precisa passar o numero de ordem pra alguma variavel

1 curtida

eu tente, só que dai ao salvar ela esta vazia, pois é auto incremento no banco e só gera ao cadastrar, fiz o modo pesquisar bem tranquilo, pois é so informar o numero da ordem. Só que quero de alguma forma que o atendente saiba o número da ordem no momento que foi salvo, não sei se expliquei bem

quando vc faz o insert, vc pode retornar os valores:

INSERT INTO table (coluna, coluna) VALUES ('valor', 'valor') RETURNING *

Aí é só vc passar o valor retornado pra sua variavel

1 curtida

Beleza vou tentar aqui

Cara, eu nao to com a ide aberta e pode ter algo errado aí, mas seria basicamente isso \/

 public void insert() {
        conecta.conexao();
        try {
            PreparedStatement pst = conecta.conn.prepareStatement("INSERT INTO tabela (coluna, coluna2) VALUES (?, ?) RETURNING *");
            pst.setInt(1, "valor1");
            pst.setString(2, "valor2");
            pst.executeUpdate();

            while(conecta.rs.next()) {
               System.out.println(conecta.rs.getInteger("id"));
            }

        } catch (SQLException ex) {
            System.out.println("Error: " + ex);
        } finally {
            conecta.desconecta();
        }
    }

Resolvido