Pagirar o resultado de uma Query

Delphi

26/07/2004

Ola a todos.

Alguem aqui ja teve a necessidade de fazer o seguinte:

Imeginem um arquivo com 10.000 registros
voce cria um sp que faca o seguinte:
sp_pagina(x,y)

onde x=numero de registros a retornar
onde y=numero da pagina

Exemplo:

Arquivo

(row) Nome Endereco
1 a a
2 b b
3 c c
4 d d
5 e e
6 f f
7 g g
8 h h
9 i i
10 j j
11 k k
12 l l
13 m m
14 n n
15 o o

vc faz a chamada da sp: SP_PAGINA(2,3)
onde 2=numero de registros a retornar
onde 3=numero da pagina

de acordo com os parametros passados os dados sao vistos (virtualmente) desta forma:

(row) Nome Endereco
---> Pagina 1
1 a a
2 b b
---> Pagina 2
3 c c
4 d d
---> Pagina 3
5 e e
6 f f
---> Pagina 4
7 g g
8 h h
---> Pagina 5
9 i i
10 j j
---> Pagina 6
11 k k
12 l l
---> Pagina 7
13 m m
14 n n
---> Pagina 8
15 o o


Sera retornado
(row) Nome Endereco
5 e e
6 f f


Outro exemplo:

vc faz a chamada da sp: SP_PAGINA(5,2)
onde 2=numero de registros a retornar
onde 3=numero da pagina

Sera retornado
(row) Nome Endereco
6 f f
7 g g
8 h h
9 i i
10 j j

de acordo com os parametros passados os dados sao vistos (virtualmente) desta forma:

(row) Nome Endereco
---> Pagina 1
1 a a
2 b b
3 c c
4 d d
5 e e
---> Pagina 2
6 f f
7 g g
8 h h
9 i i
10 j j
---> Pagina 3
11 k k
12 l l
13 m m
14 n n
15 o o
---> Pagina 4


Abraco a todos
Carlos Junior


Carlosc.jr

Carlosc.jr

Curtidas 0

Respostas

Vinicius2k

Vinicius2k

26/07/2004

vc não conseguiu implementar ainda com as respostas postadas ?
http://delphiforum.icft.com.br/forum/viewtopic.php?t=48710

T+


GOSTEI 0
Carlosc.jr

Carlosc.jr

26/07/2004

Vinicius,

Como viu nos posts nao ha resposta para a minha duvida.

[]´ssss
Carlos Junior

vc não conseguiu implementar ainda com as respostas postadas ? http://delphiforum.icft.com.br/forum/viewtopic.php?t=48710 T+



GOSTEI 0
Vinicius2k

Vinicius2k

26/07/2004

Entendo... pensei q vc tivesse optado por usar , por exemplo, ´select first 50 skip 50 * from tbl_clientes´...

Bem, eu não sou grande conhecedor de SPs, mas o princípio não seria o mesmo? ou o resultado q vc necessita não pode ser obtido com este tipo de instrução?
sendo abosolutamente honesto, creio não ter entendido sua dúvida então...

T+


GOSTEI 0
Carlosc.jr

Carlosc.jr

26/07/2004

Vinicius,

O ´select first 50 skip 50 ....´ nao funciona na versao do FB 1.0 nem no Interbase 6.0. Por isto nao posso usar.

O que estou necessitando é uma coisa simples (no oracle, no sql server). Simplesmente eu queria trazer o resultado da query com uma coluna adicional como indice sequencial.

UM SELECT COMUM

select * from cliente
viria como resultado:

nome endereco
a aa
b bb
c bb

UM SELECT COM A COLUNA DO INDICE

INDICE NOME ENDERECO
1 A AA
2 B BB
3 C CC


Se puder me ajudar serei muito grato. Apesar de nao ser exatametamente o que necessito mas ja resolveria 50¬ dos meus problemas.

Eu consigo obter o resultado que desejo se eu criar uma SP mas gostaria de saber se existe uma forma mais pratica.

Grato
Carlos Junior



Entendo... pensei q vc tivesse optado por usar , por exemplo, ´select first 50 skip 50 * from tbl_clientes´... Bem, eu não sou grande conhecedor de SPs, mas o princípio não seria o mesmo? ou o resultado q vc necessita não pode ser obtido com este tipo de instrução? sendo abosolutamente honesto, creio não ter entendido sua dúvida então... T+



GOSTEI 0
POSTAR