Magno,
Também tive que implementar esta funcionalidade mais ou menos assim:

Primeiro registro:
select min( campochave ) as chave from tbname

Registro anterior:

select max( campochave ) as chave from tbname where  campochave  < 
nChaveAnterior

Próximo registro:

select min( campochave  ) as chave from tbname where campochave  > 
nChaveAnterior

Último registro:

select max( campochave   ) as chave from tbname

Espero ter ajudado.



[]s

Fernando

  ----- Original Message ----- 
  From: Evandro Ricardo Silvestre 
  To: Grupo de Usuários do PostgreSQL no Brasil 
  Sent: Tuesday, January 30, 2007 9:46 AM
  Subject: Re: [PostgreSQL-Brasil] como mover cursores


  Magno,

  Pelo que entendi você quer navegar pelos registros na aplicação. Se for isso 
o cursor do Postgresql não irá te ajudar, pois ele é utiliza em SP, desconheço 
uma forma de utiliza-lo diretamente conectado na aplicação. Percebi que você 
está usando Delphi, correto? Se for porque não faz a carga de todos os dados da 
tabela (ou uma parte) para o cds e utiliza cds.next, cds.last, cds.first e 
afins? Acho que seria a melhor solução.

  []'s

  Evandro

  Magno Lima wrote: 
    Ola Pessoal,

    Estou com uma duvida muito chata. Estou desenvolvendo um aplicativo e este 
tem a famosa barra de navegação de botoes [<<] [<] [>] [>>], existe um campo 
para digitar e acessar um registro dada uma chave especifica. Pois bem, digamos 
que a tabela possui 100 registros, o usuario entao faz uma pesquisa, uso o 
select normal, procurando pelo codigo, por exemplo. 

    Obviamente que o sgbd retornará ao menos 1 linha, se encontrar, entao a fim 
de permitir que o usuario possa navegar com os famingerados botoes novamente, 
eu desmosto o select a partir de um select igual, porem sem where codigo=x. O 
cursor da tabela vai para o top, registro 1 e visualmente fica estranho, eu 
posso manter os dados do ultimo registro pesquisado na tela, mas aí é pior, se 
ele mover o registro vai mostrar o 1o registro de acordo com o sentido, ou 
seja, qual botao utilizou. O ideal seria, antes da query de pesquisa, guardar o 
registro num bookmark, fazer a pesquisa, e apos o desmonte do filtro 
reposicionar o cursor com o gotobookmark(bk). O problema é que nao funciona, e 
deve ser pq os bookmarks sao para selects daquela pesquisa, como refiz o 
select, mesmo utilizando a mesma tabela, já era. Outra forma, e é ai que eu 
pergunto aos mestres, é se usando os tais cursores (move, fetch) eu teria mais 
sucesso, ou é melhor nem mexer nisso.. :) 

    Se os cursores resolvem, com posso fazer? Ha como me mostrar um exemplo 
simples? Espero que tenham entendido minha duvida

    Abracos!



----------------------------------------------------------------------------
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios



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


  _______________________________________________
  Grupo de Usuários do PostgreSQL no Brasil
  Antes de perguntar consulte o manual
  http://pgdocptbr.sourceforge.net/

  Para editar suas opções ou sair da lista acesse a página da lista em:
  http://pgfoundry.org/mailman/listinfo/brasil-usuarios
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a