]botão proximo sem usar dbNaveator

Delphi

19/09/2005

Como que poderia montar um SELECT que me traga o proximo registro apartir de um registro especificado, por exemplo, no banco de dados eu tenho:

1/2004
2/2004
3/2004
1/2005
2/2005
1/2006

O registro selecionado pelo usuário digamos que foi o 3/2004.
O próximoregistro, esta ordem, seria 1/2005, como que eu posso montar um select para realizar isso??

Obrigada.


Celamar

Celamar

Curtidas 0

Respostas

Silviogs

Silviogs

19/09/2005

Olá celamar

select * from teste
where teste>´2004/3´

select * from tabela
where codigo>:codigoinformado

o seu cadastro seria o inverso ex:

2004/1
2004/2
2004/3
2005/1
2005/2
2006/1

Atenciosamente

Silvio Guedes


GOSTEI 0
Michelli88

Michelli88

19/09/2005

Se voce estiver num registro e quizer se posicionar no proximo:
[b:5b34d21c89]Query.Next;[/b:5b34d21c89]


GOSTEI 0
Silviogs

Silviogs

19/09/2005

Olá amigo

se vc cadastrar no banco de dados e ordenar da mesma forma que o exemplo acima o next não funciona porque:

ordena por codigo

1/2004
1/2005
1/2006
2/2004
2/2005
3/2004

da forma que ela deseja o next seria EOF.

´O registro selecionado pelo usuário digamos que foi o 3/2004.
O próximoregistro, esta ordem, seria 1/2005´ dita pela própria.

então a forma de cadastro seria o inverso como explicado anteriormente e testado no postgresql 8.0.3 com ems postgre 3. Se ordenado pelo ano e depois o codigo a ordenação seria:

2004/1
2004/2
2004/3
2005/1
2005/2
2006/1

neste caso o next funcionaria pois a ordenção estaria correta.

Atenciosamente

Silvio Guedes


GOSTEI 0
Adriano Santos

Adriano Santos

19/09/2005

Se voce estiver num registro e quizer se posicionar no proximo: [b:f4d6976b35]Query.Next;[/b:f4d6976b35]


Complentando.

Query.Next = Proximo
Query.Prior = Anteiror
Query.Last = Ultimo
Query.First = Primeiro


GOSTEI 0
Silviogs

Silviogs

19/09/2005

Olá amigos

ela já sabe como usar o First, Next, Prior e o Last, o problema que ela quer montar um select pessoal para localizar um reg. específico e dai o próximo. Acontece que da forma como está ordenado o banco de dados dela não funciona para encontrar o registro específico. Vou explicar a ordenação:

ordenação pelo codigo sequencial, por ser caracter primeiro vem o codigo depois ano:

1/2004
1/2005
1/2006
2/2004
2/2005
3/2004

o next seria EOF ( fim de arquivo) false ela não encontraria registro a aglgum.

agora para funcionar como a celemar deseja, deve primeiro ordenar pelo ano e depois o codigo sequencial:

2004/1
2004/2
2004/3
2005/1
2005/2
2006/1

me parece que o codigo sequencial seria o mês.

´Como que poderia montar um SELECT que me traga o proximo registro apartir de um registro especificado, por exemplo, no banco de dados eu tenho:´

já explicado anteriomente:

´Olá celamar

select * from teste
where teste>´2004/3´
order by codigo

select * from tabela
where codigo>:codigoinformado
order by codigo

o seu cadastro seria o inverso ex:

2004/1
2004/2
2004/3
2005/1
2005/2
2006/1´

Atenciosamente

Silvio Guedes


GOSTEI 0
POSTAR