• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ADNSil

SQL ( Ultima linha de uma tabela)

12 mensagens neste tópico

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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

campo identidade? referes te a um que siga uma sequência lógica numérica ?

se é isso não mas pode-se criar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já andei aqui as voltar, e já criei o tal campo identidade, mas não estou a perceber como chegar la, podes me dar um exemplo sff.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já andei aqui as voltar, e já criei o tal campo identidade, mas não estou a perceber como chegar la, podes me dar um exemplo sff.

Para que queres saber qual a ultima linha de uma tabela ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ooo, bem me pareceu que não me expliquei bem XD.

imagina que eu guardo um código.

exp: "aa00" na linha seguinte "aa01", outra "aa02" e assim sucessivamente

quero ler a ultima linha para poder continuar o codigo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros 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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Faz o seguinte: recordset.movelast (vai seleccionar a ultima linha e depois é só ires buscar o valor do campo que queres).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora