como eu faço um auto encremento para o codigo e aonde eu faço no programa ou no banco de dados me ajudem
Auto incremento
7 Respostas
Olá não entendi muito bem o seu problema mas vamos lá,
você pode definir o auto incremento apenas na sua tabela no banco, quando você for inserir um registro nessa tabela pelo código da aplicação, o banco fará o auto incremento pra você
[]'s
Cara, sua pergunta ficou meio vaga… pelo menos para mim…
Mas assim… pelo que eu entendi, vc quer persistir alguma coisa no BD e quer saber se o ID deve ser autoincrementado no seu codigo ou no BD.
Bom, tudo depende de como o seu Bd foi construido… se ele tem essa capacidade de autoincrementar, utilize esse recurso… Afinal… para que re-inventar a roda, caso contrario você tem que cuidar disso você mesmo!
Bom amigo vou te manda um código de uma função que retorna o código do proximo elemento a ser inserido no banco de dados:
public int getCodigo()
{
Statement stmt;
ResultSet rs;
int novoCod=0;
try
{
stmt = getCon().createStatement();
rs = stmt.executeQuery("SELECT MAX(cod)+1 AS novoCod FROM Cliente");
if(rs.next())
{
novoCod = rs.getInt("novoCod");
}
stmt.close();
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,"Problema encontrado para se conectar ao Banco de dados!!!","ERRO", JOptionPane.WARNING_MESSAGE);
}
return novoCod;
}
Espero que tenha ajudado
[]´s
Qdo um campo é AUTO INCREMENT no Banco de Dados vc nao precisa fazer a operacao no software.
Por exemplo:
Construa um banco de Dados e Crie uma Tabela Pessoa. Ela possui Id_Pessoa e Nome_Pessoa.
CREATE TABLE Pessoa (
Id_Pessoa INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Nome_Pessoa VARCHAR(30) NOT NULL,
PRIMARY KEY(Id_Pessoa)
);
Na construcao da tabela voce seta que Id_ Pessoa sera auto incrementeda toda vez q uma nova pessoa for adicionada ao banco
Agora é so ir adicionando as pessoas na aplicacao
A primeira pessoa adicionada terá Id_Pessoa =1, a segunda Id_Pessoa =2, a terceira Id_Pessoa=3…
Duvidas???//
o que vai acontecer se dois clientes do banco usarem a mesma função, quase ao mesmo tempo, antes que qualquer um dos dois efetue o cadastro?
[]'s
Bom Luiz_Gustavo, claro que a melhor maneira para utilizar um auto incremento é direto no banco de dados como o Diogo_Aca colocou!!!
Da forma q eu coloquei se dois usuarios forem inserir algo no banco ao mesmo tempo como vc colocou… vai dar problema sim!!!
Mas como foi solicitado uma forma de fazer isso pelo java… achei legal colocar essa forma!!! Mesmo pq se a aplicação desenvolvida for mono usuario não terá o menor problema!!!
Mas tudo bem!!!
[]´s
Bom Luiz_Gustavo, claro que a melhor maneira para utilizar um auto incremento é direto no banco de dados como o Diogo_Aca colocou!!!Da forma q eu coloquei se dois usuarios forem inserir algo no banco ao mesmo tempo como vc colocou… vai dar problema sim!!!
Mas como foi solicitado uma forma de fazer isso pelo java… achei legal colocar essa forma!!! Mesmo pq se a aplicação desenvolvida for mono usuario não terá o menor problema!!!
Mas tudo bem!!!
[]´s
Faiter_,
gostaria de dizer que só fiz esse comentário com a intenção de chamar a atenção para esse eventual problema, já que você não havia colocado nenhuma ressalva.
De maneira alguma tive a intenção de invalidar sua ajuda, ok!
[]'s maninho.