Fórum DBGrid (? ) não reconhece campo (rownum) do Oracle. #388366

13/10/2010

0

Olá.

Estou usando o banco Oracle e Delphi 6 com BDE, Query e DBGrid. Tenho uma consulta que usa o rownum.
select rownum as sequencia, 
                             campo2,
                             campo3
 ....


Adicionei esse campo normalmente, e no DBGrid ele foi setado para preencher uma coluna.

Acontece que quando o sistema abre a tela, dá o seguinte erro: "Query1: Field sequencia not found". 

Porque será que ele não encontra o campo, já que este foi configurado normalmente na coluna do Grid?


Grato.

Domingos



Domingos Neto

Domingos Neto

Responder

Posts

13/10/2010

Wilson Junior

Coloque o seu código fonte aqui para poder lhe ajudar.
Responder

Gostei + 0

13/10/2010

Domingos Neto

Wilson,

"Não tem código" não. É uma consulta SQL dentro de uma query, que é ligada a um DBGrid. Nessa query adiciono todos os campos da consulta, inclusive o rownum (foi dado um alias a ele). Então lá numa coluna do DBGrid seleciono esse campo e na hora de abrir o form, ao executar, diz que o campo nao foi encontrado.

[]´s

Domingos
Responder

Gostei + 0

13/10/2010

Wilson Junior

Você já chegou a executar este SQL diretamente no Oracle e verificou se funcionou?
Responder

Gostei + 0

13/10/2010

Deivison Melo

Boa tarde,   estranho!!!   o tipo de coluna no seu dbgrid está com o mesmo tipo do rownum?   select rownum sequencia  // inteiro   from dual   select rowid sequencia  // varchar2   from dual   Atenciosamente,   Emanoel Deivison
Responder

Gostei + 0

14/10/2010

Eriley Barbosa

Também utilizo oracle e você não deve utilizar o rownum numa tabela com muitos registros, pois, quando der o open na tabela, não vai nem abrir se tiver muitos registros, devido ao oracle ter que criar a sequência de numeração. Ao invés disso use um campo calculado e no  evento oncalcfields da query tente algo assim: seucampocalculado.value := suaquery.recno;
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar