Melhores Praticas de Auto incremento

Delphi

20/05/2013

Qual a Melhor praticas para incrementar nos registro na aplicação.

Ao incluir novo cadastro, ele conta quantos itens ja tem na tabela, posiciona no ultimo registro e incrementa mais um.

Quem pode me indicar um exemplo
Flavio Silva

Flavio Silva

Curtidas 0

Respostas

Frederico Brigatte***

Frederico Brigatte***

20/05/2013

Oi meu amigo, entra no msn. Te cadastrei.
GOSTEI 0
Reginaldo Correa

Reginaldo Correa

20/05/2013

Qual o banco de dados?? Se for mysql tem como pegar o ultimo id para incremento direto da tabela de controle do mysql...

Fiz uma função na minha aplicação que busca esta id de um banco mysql....

se quiser posto aqui
GOSTEI 0
Flavio Silva

Flavio Silva

20/05/2013

Agradeço desde ja sua Ajuda
GOSTEI 0
Thiago Santos

Thiago Santos

20/05/2013

Existem várias formas. EX:

Realizando SELECT no banco retornando o último ID:
SELECT MAX(ID) FROM FUNCIONARIO


Criando um generator, nesse tópico, utilizando banco Firebird
[url]https://www.devmedia.com.br/auto-incremento-firebird/17924[/url]

Utilizando o Auto Incremento, neste caso, utilizando banco MySQL
ALTER TABLE FUNCIONARIO MODIFY COLUMN ID INTEGER(11) NOT NULL AUTO_INCREMENT;


Ou simplismente usando um manager do seu banco e marcando a opção AutoInc, Auto Increment ...

Espero ter ajudado.
GOSTEI 0
Flavio Silva

Flavio Silva

20/05/2013

Obrigado Thiago
Pela Dica
GOSTEI 0
Flavio Silva

Flavio Silva

20/05/2013

Ainda Sobre Trabalhar com Auto Incremento,

Tenho o Seguinte:

Uso atualmente o Firebird nos Trabalhos que desenvolvo.

A um tempo baixei um exemplo sobre DATASNAP, cujo o nome do arquivo era Sample Datasnap 2010, neste arquivo pude verificar que no banco existe uma tabela com o nome de controle.

Dentro desta existia apenas 2 campos denominados CAMPO (que ficaria o nome do campo ID de Todas as outras tabela constantes do Banco) e outro VALOR (Onde armazenava o valor atual de cada Campo ID das tabela).

Tipo: Na tabela Cliente conta 30 registro, entao na tabela controle teria: CAMPO: Id_Cliente; VALOR: 30;

Quando incluir no botao inserir e pesquisa no CONTROLE e adiciona mais 1;

Gostaria de uma orientação sobre como desenvolve-lo. Pois Confesso que vi o exemplo mas pude digerir melhor esta tecnica.

Obrigado
GOSTEI 0
Thiago Santos

Thiago Santos

20/05/2013

Ainda Sobre Trabalhar com Auto Incremento,

Tenho o Seguinte:

Uso atualmente o Firebird nos Trabalhos que desenvolvo.

A um tempo baixei um exemplo sobre DATASNAP, cujo o nome do arquivo era Sample Datasnap 2010, neste arquivo pude verificar que no banco existe uma tabela com o nome de controle.

Dentro desta existia apenas 2 campos denominados CAMPO (que ficaria o nome do campo ID de Todas as outras tabela constantes do Banco) e outro VALOR (Onde armazenava o valor atual de cada Campo ID das tabela).

Tipo: Na tabela Cliente conta 30 registro, entao na tabela controle teria: CAMPO: Id_Cliente; VALOR: 30;

Quando incluir no botao inserir e pesquisa no CONTROLE e adiciona mais 1;

Gostaria de uma orientação sobre como desenvolve-lo. Pois Confesso que vi o exemplo mas pude digerir melhor esta tecnica.

Obrigado


Verifique se há alguma trigger e/ou generator. Este seu exemplo pode estar usando. Aí quando você grava um novo registro, a trigger é "disparada". Agora se é com ou sem generator, você precisaria verificar a trigger.

Acho que este artigo irá te ajudar.
[url]https://www.devmedia.com.br/introducao-a-triggers/1695[/url]
GOSTEI 0
Claudio Junior

Claudio Junior

20/05/2013

Crie um generator e um trigger no Firebird para o campo autoincremento.
Em seguida se estiver usando conexão DBX, tanto no SQLDataSet como no ClientDataSet, selecione o field que vai ser auto-incrementado e coloque a propriedade Required como False.
GOSTEI 0
POSTAR