Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

andreluis78

Problema com pesquisa SQL componete QUERY

Recommended Posts

Caros amigos do iMasters, tenho uma dúvida :

Num formulário de clientes estou fazendo uma pesquisa. Uso componente QUERY (banco Paradox). No Form uso um EDIT e um Button para a pesquisa. Quero que a pesquisa seja feita no campo NOME da tabela CLIENTE e pesquise qualquer valor existente nesse campo. Inseri no Button o seguinte código :

 

q_cliente.Active:=false;

q_cliente.SQL.Clear;

q_cliente.SQL.Add('select * from cliente where nome like' + #39 + '%' + Edit1.Text + '%' + #39);

q_cliente.Active:=true;

 

A pesquisa até que funciona se eu digitar algum valor existente na coluna NOME da minha table cliente , porém se digito um valor inexistente como qualquer 'porcaria' apenas para teste por ex : kjasdfjq , ele seleciona um REGISTRO EM BRANCO , ou seja , é uma falha . Gostaria que me retornasse uma mensagem como REGISTRO NÃO ENCONTRADO .

 

Alguém pode me ajudar ?? Muito obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente da seguinte maneira:

 

q_cliente.Active:=false;

q_cliente.SQL.Clear;

q_cliente.SQL.Add('select * from cliente where nome like' + #39 + '%' + Edit1.Text + '%' + #39);

q_cliente.Active:=true;

 

if q_cliente.RecordCount = 0 then

ShowMessage('Registro não encontrado.');

 

 

Um abraço,

Compartilhar este post


Link para o post
Compartilhar em outros sites

So complementando a idéia do colega fernando, você também poderia escrever assim:

 

q_cliente.Active:=false;

q_cliente.SQL.Clear;

q_cliente.SQL.Add('select * from cliente where nome like' + Quotedstr('%' + Edit1.Text + '%');

q_cliente.Active:=true;

 

if q_cliente.RecordCount = 0 then

ShowMessage('Registro não encontrado.');

 

Essa função Quotedstr coloca todo o conteúdo que esta no Edit entre aspas simples ''.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.