Ir para conteúdo

POWERED BY:

Arquivado

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

RafaelHNGarcia

Consulta ultilizando SQLQuery e ClienteDataSet

Recommended Posts

Bom dia.

 

Estou tentando realizar uma consulta ou pelo SQLQuery ou pelo ClienteDataSet, o código que estou utilizando é o seguinte:

 

//BUSCANDO O QUE É DIGITADO NO BANCO DE DADOS
SQLQuery1.Close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('SELECT * FROM bdCadastro WHERE Nome LIKE :nome or Cidade LIKE :cidade or NomeFantasia like :nomeF or ContatoA like :contatoA or ContatoB like :contatoB or ContatoC like :contatoC');
SQLQuery1.ParamByName('nome').AsString:='%'+edtBuscar.Text+'%';
SQLQuery1.ParamByName('cidade').AsString:='%'+edtBuscar.Text+'%';
SQLQuery1.ParamByName('nomeF').AsString:='%'+edtBuscar.Text+'%';
SQLQuery1.ParamByName('contatoA').AsString:='%'+edtBuscar.Text+'%';
SQLQuery1.ParamByName('contatoB').AsString:='%'+edtBuscar.Text+'%';
SQLQuery1.ParamByName('contatoC').AsString:='%'+edtBuscar.Text+'%';
SQLQuery1.Open;
end;
Esse código funciona perfeitamente no ADOQuery, alguém sabe se precisa realizar alguma outra opção diferente dessa ?
Agradeço desde já.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

E qual o problema com o código? Está gerando um erro? Dê mais detalhes do problema, aparentemente não é erro de código.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Rafael, boa tarde,


Vou te dar uma dica, por que você não cria a query dinamicamente?

Veja esse modo de implementação:



//BUSCANDO O QUE É DIGITADO NO BANCO DE DADOS

SQLQuery1.Close;

SQLQuery1.SQL.Clear;

SQLQuery1.SQL.Add('SELECT * FROM bdCadastro ');


if edtNome.Text <> '' Then

SQLQuery1.SQL.Add('WHERE Nome = edtNome.Text')



if edtCidade.Text <> '' Then

begin

if SQLQuery1.SQL.count > 1 then

SQLQuery1.SQL.Add('WHERE Cidade = ' + edtCidade.Text)

else

SQLQuery1.SQL.Add(' OR Nome = '+ edtCidade.Text);

end


...

Para cada Campo

que quiser;

...


SQLQuery1.Open;


Repare que criei a query dinamicamente e para cada campo de parametro eu acrescento no DDL o critério.



Espero ter ajudado,


Abraços,



Márcio Sá

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.