Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

ADNSil

SQL ( Ultima linha de uma tabela)

Mensagens Recomendadas

ADNSil    0
ADNSil

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bruno1234    20
bruno1234

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jpaulino    106
jpaulino

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 ?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bruno1234    20
bruno1234

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ADNSil    0
ADNSil

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bruno1234    20
bruno1234

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.

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade