Como saber se o EXECUTE_QUERY retornou registros?

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Avatar do usuário
Porva
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 342
Registrado em: Seg, 29 Jan 2007 7:36 am
Localização: São Paulo/SP
Rafael S. Nunes
São Paulo/SP

galera, sei que tem a busca aqui no Fórum, mas tem vez que não dá, como não sei a palavra chave, fica complicado, eu até tentei, mas não achei, foi mal aí se já foi postado..

mas enfim, a pergunta... como saber se o EXECUTE_QUERY retornou registros para o bloco?
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, beleza cara?

Então, acho q tem duas maneiras:

1) Ir para o bloco e pegar o valor do CURRENT_RECORD;
ou
2) Fazer um Loop no bloco contando;

qualquer coisa, manda ai velho.
Zago
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 1
Registrado em: Sex, 25 Abr 2008 2:02 pm
Localização: PR

Olá.
Minha primeira postagem aqui no fórum.
Vi a dúvida e vou tentar ajudar.

Já me reparei com uma situação dessas. Sei de uma maneira fácil de saber se a consulta de um bloco database retornou registros logo após o comando EXECUTE_QUERY.

Use o seguinte comando:

Selecionar tudo

GET_BLOCK_PROPERTY ('NOMEDOBLOCO', QUERY_HITS);
por ex:

Selecionar tudo

IF (GET_BLOCK_PROPERTY('NOMEDOBLOCO', QUERY_HITS) = 0) THEN
   MESSAGE ('A consulta não retornou dados!');
END IF;
Só lembrando que o comando QUERY_HITS faz a contagem do número de linhas processadas da última consulta do bloco através do EXECUTE_QUERY.

Espero ter ajudado.

Abraços.

Rodrigo Zago
rogenaro
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Sex, 30 Mar 2007 7:26 pm
Localização: Londrina - PR
Rafael O. Genaro

Uma outra forma seria também verificar se a variável :system.mode = 'ENTER-QUERY', logo após o comando EXECUTE_QUERY.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 11 visitantes