Auto Sequencia no Postgre e Insert com Java

4 respostas
S

Olá estou tentando criar um cadastro onde possui 2 campos

Código
Nome

O campo código eu criei uma auto sequencia no postgre

agora estou com duvida em como faço em java

no momento estou fazendo da seguinte forma

String sql = "INSERT into grupo (gru_nome)" + "VALUES (?)";
                try {
                    Connection conn = Conexao.getConexao();
                    PreparedStatement pst = conn.prepareStatement(sql);

                    
                    pst.setString(1, txGrupo.getText());

                    JOptionPane.showMessageDialog(null, "Gravado com Sucesso!");
                } catch (SQLException ex) {
                    JOptionPane.showMessageDialog(null, "Erro ao gravar registo\n" + ex.getMessage() + "\n" + ex.getCause());

                }

A mensagem “Gravado com sucesso” aparece mas não é gravado nada no banco de dados

Utilizei o seguinte código sql para criar a tabela

CREATE TABLE grupo
(
gru_cod integer NOT NULL PRIMARY KEY,
gru_nome VARCHAR(80)
);

CREATE SEQUENCE gru_cod
    MINVALUE 1
    MAXVALUE 10000
    START WITH 1
    INCREMENT BY 1
    CACHE 100;

Agradeço desde já a atenção.

4 Respostas

d34d_d3v1l

tabela no postgre:

create table tabela(
id serial primary key,
nome varchar,
sobrenome varchar
);

insert jdbc:

String sql = "insert into tabela values (default,?,?);";

abrazz
espero q ajude

lele_vader
Tenta chamar o método que chama o próximo da sequence, 
por exemplo.

Não sei se no postgre é nextval


String sql = "INSERT into grupo (gru_cod,gru_nome)" + "VALUES (?,?)";  
    try {  
        Connection conn = Conexao.getConexao();  
         PreparedStatement pst = conn.prepareStatement(sql);  
         pst.setInt(1,"gru_cod.NEXTVAL");
         pst.setString(2, txGrupo.getText());  
   }
pmlm

Falta o executeUpdate()

S

Nossa muito rápido as respostas

Obrigado a todos

“pmlm” verdade depois de mexer tanto no codigo nao reparei q estava sem o ExecuteUpdate();

“lele_vader” no postgre é nextval mas nao consegui fazer como seu exemplo.

“d34c_d3v1l” seu exemplo com serial funcionou perfeito muito obrigado

Criado 2 de maio de 2012
Ultima resposta 3 de mai. de 2012
Respostas 4
Participantes 4