Jump to content

SQL ( Ultima linha de uma tabela)


ADNSil
 Share

Recommended Posts

Boas pessoal, ando aqui as voltas para conseguir ler a ultima linha de uma tabela, tenho a conexão feita, guardo os dados, consigo seleccionar a linha que quero, mas não sei como fazer para ir buscar a ultima linha.

quero com isto, que o programa continue a guardar a partir do ultimo numero que foi guardado...

alguma ideia

Comprimentos: ADNSil

Link to comment
Share on other sites

Se tiveres um campo identidade como o bruno1234 está a perguntar, uma maneira de obter o que pretendes é utilizando o TOP, desde que ordenes os resultados por ordem descendente, com o campo identidade como critério da ordenação.

Aproveito para frisar que dúvidas são para ser tiradas neste sub-quadro ([VB.NET]-Dúvidas e Ajudas) e não no quadro principal (Visual Basic.NET).

EDIT: Por identidade ele está-se a referir ao equivalente a "Numeração automática" na versão Portuguesa do Access

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Sim, em SQL Server, SQL CE e Access podes definir uma coluna como identidade, indicando o valor inicial e o seu incremento.

Assim, sempre q fazes um insert, essa coluna é automaticamente preenchida com o valor seguinte.

Em Oracle, n existe o conceito de campo identidade, mas existem as sequencias, funcionam de modo ligeiramente diferente, mas servem o mm proposito.

Quanto aos restantes (MySql, etc...) n sei cm funcionam, mas é uma questão de pesquisares.

Tendo este campo assim, provavelmente já não precisas de ir buscar o ultimo valor para o teu código vb.

Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Link to comment
Share on other sites

Chegar lá como assim?

Imagina este caso:

O campo id é uma campo identidade com valor inicial = 1 e incremento igual a 1.

Tens a tabela:

Id        |          Nome

--------------------------------------

1        |      NomeQualquer

Se fizeres:

insert into tabela values ('Zé')

ficas com:

Id        |          Nome

--------------------------------------

1        |      NomeQualquer

2        |      Zé

Ou seja, o campo identidade arranja-se sózinho.

Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Link to comment
Share on other sites

Então voltamos para a query com TOP e ordenação de coluna.

Uma ordenação descendente por essa coluna assegura que o primeiro registo seja o último da tua sequência.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Com esse código já n podes usar o campo identidade.

Tens mesmo necessidade de usar um código assim?

O problema de ir buscar o ultimo valor á bd é q se for numa aplicação com acessos concorrentes, corres o risco de gerar chaves iguais.

Aí é mais fácil usar os campos identidade, ou então executar tudo dentro de um método thread-safe.

Se a aplicação n tiver acessos concorrentes, n precisas de te preocupar.

Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Link to comment
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
 Share

×
×
  • 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.