Jump to content

Campo Int com valor automático


dipacheco

Recommended Posts

Boas! Tenho uma BD em SQL em q, numa das tabelas, tenho um campo chamado código que não quero que tenha repetições e que quero que seja gerado de automaticamente. Como posso fazer isso via management studio? Abraço.

Link to post
Share on other sites

outra vez sobre este assunto!...

este campo chave com numeração automatica que criei funciona correctamente. mas agora queria outra coisa... se eu apagar um registo da BD esse registo deveria puder ser utilizado novamente. porque nao da?

exemplo: apagava o registo com codigo = 2

quando fosse inserir, ao inves de inserir no ultimo, inseria no 2!

Link to post
Share on other sites

isto está a complicar-me a vida porque tinha uma barra de deslocamento entre registos e o q fazia era ir para o 1º q era o 1, ir para o ultimo q era o last... ou entao ir para o anterior ou para o proximo! mas fazia isso pelo codigo... agora nao funciona porque o proximo a seguir ao 1 nao é o 2 mas sim o 5... bem como o primeiro pode nao ser o 1 se eu o apagar... etc

Link to post
Share on other sites

estava a controlar pelo codigo... por exemplo codigo actual +1 ou -1 para saltar para proximos e anteriores! e no incio do form tirava o ultimo registo e guardava .. entao ia para o 1 qnd queria o primeiro e ia para o last qnd queria o ultimo! o last funciona bem, logicamente! os restantes é q nao!

Link to post
Share on other sites

É mais facil carregares os registos para um Datatable ou outra coisa e depois só mudas a posição, ou seja

Na tabela existem 3 registos

1

2

5

DataTable também existem 3 registos mas

Posição 0 = 1

Posição 1 = 2

Posição 2 = 5

Estas a ver??

Se tiveres duvidas abre um novo tópico

Pedro Martins

Não respondo a duvidas por PM

Link to post
Share on other sites

estava a controlar pelo codigo... por exemplo codigo actual +1 ou -1 para saltar para proximos e anteriores! e no incio do form tirava o ultimo registo e guardava .. entao ia para o 1 qnd queria o primeiro e ia para o last qnd queria o ultimo! o last funciona bem, logicamente! os restantes é q nao!

Podes sempre calcular o mínimo para o próximo e máximo por anterior.

Imagina este cenário:

Na tabela existem os registos 1, 9, 16, 27, 40 e 46 e estás a visualizar o registo 27.

Ao navegares para o registo anterior executas:

SELECT MAX(id) FROM tabela WHERE id < 27
// Resultado: 16

Ao navegares para o registo seguinte executas:

SELECT MIN(id) FROM tabela WHERE id > 27
// Resultado: 40

Espero ter ajudado

Pedro Martins

Sharing is Knowledge!

http://www.linkedin.com/in/rechousa

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.