Query Passagem de Parâmetro SSoooocccooorrooo!!!!!!!!

01/03/2003

0

como montar SQL com:
parâmetro e com LIKE ????

[b:7cff683a88]vejam o que fiz, mas não funciona!!!: [/b:7cff683a88]

:arrow: SELECT nome FROM Pessoa WHERE nome LIKE :dados

[b:7cff683a88]vejam a passagem:[/b:7cff683a88]

with dm.qryGeral do begin
Parameters[0].Value := Edit1.text;
open;
end;

[i:7cff683a88]Obs.: estou usando ADO e Access.[/i:7cff683a88]
Obrigadinha... :)


Anonymous

Anonymous

Responder

Posts

01/03/2003

Anonymous

Oi,

Dá uma olhada

with Query1 do begin
Sql.Clear
Sql.Add(´SELECT nome FROM Pessoa WHERE upper(nome) LIKE upper (:dados) ´);
ParamByName(´nome´).asString := Edit1.text;
Close;
Open;
End;

Fui


Responder

01/03/2003

Anonymous

Somente um acréscimo à resposta do [b:9a74d8aa76]Visitante[/b:9a74d8aa76]:
Do jeito que está somente irá encontrar se o item procurado for digitado EXATAMENTE igual ao que foi cadastrado.
Utilize o caracter ´¬´ como curinga. Por exemplo:

Query1.ParamByName(´nome´).asString := Edit1.text+´¬´;

Se no Edit1 tiver sido digitado ´MARIA´, serão mostrados todos os nomes que iniciam com MARIA. Verifique também se a busca faz diferença entre maiúsculas e minúsculas.


Responder

01/03/2003

Ilanocf

Olá Monique,

Eu trabalho com Access e agora estou migrando para Delphi, portanto, não sou nenhum grande programador em Delphi, mas pelos trabalhos q já fiz minha consulta foi resolvida da seguinte forma:

DMDados.ConsDiplomas.Close;
DMDados.ConsDiplomas.SQL.Clear;
DMDados.ConsDiplomas.SQL.Add(´SELECT * FROM TB_Concludentes WHERE Curso LIKE:P1 ORDER BY Aluno´);
DMDados.ConsDiplomas.Parameters.ParamByName(´P1´).Value:=Edit2.Text;
DMDados.ConsDiplomas.Open;

DMDados é o nome do meu DataModule, assim todas as tabelas e consultas ficam centralizadas em um sólugar, é como uma caixinha, e se precisar ser colocado em Rede não dará problemas para conectá-las.

Na terceira linha peço para localizar o campo Curso e organizar minha consulta pelo nome do aluno em ordem crescente, mas acho q já sabe disso tb.

Na quarta linha, é usado Parameters antes de ParamByName por se tratar de tabela Access, se fosse tabela Paradox não necessitaria do Parameters.

Boa sorte e um feliz carnaval.

Ilano.


Responder

02/03/2003

Anonymous

Valeu rapazes, com a gentil ajuda de vocês eu CONSEGUI!!!


:arrow: Monique Farias


Responder

06/03/2003

Anonymous

Oi, Dá uma olhada with Query1 do begin Sql.Clear Sql.Add(´SELECT nome FROM Pessoa WHERE upper(nome) LIKE upper (:dados) ´); ParamByName(´nome´).asString := Edit1.text; Close; Open; End; Fui


Como faço para incluir mais de um parametro no caso acima?


Responder

06/03/2003

Paulino

Você teve a resposta, porém, creio que não a que você queria. Para ter mais de um parâmetro em sua pesquisa você deve adicioná-los, em seu código SQL pelas condições creio que já conhecidas por você (AND ou OR)
Assim poderiamos ter:

With Query1 do
begin
Close;
SQL.Clear;
SQL.Add(´Select * from Tabela Where (Parametro1=:Parametro1 AND Parametro2=:Parametro2 AND Parametro3=:Parametro3) ´);
Parameters.ParamByName(´Parametro1´).Value:=ValorDoParametro1;
Parameters.ParamByName(´Parametro2´).Value:=ValorDoParametro2;
Parameters.ParamByName(´Parametro3´).Value:=ValorDoParametro3;
Open;
end;

Onde os parênteses antes dos parâmetros são para indicar prioridade, caso use OR entre AND´s... os AND´s podem ser OR´s e no código podem estar inclusos também Order by, Group By, após as condições... dependendo dos tipos de dados deve-se também modificá-los...
para mais escreva-me... paulino@usa.com

:wink:


Responder

06/03/2003

Anonymous

Eu nao uso ADO mas acredito que isso funcione:

TIBQUERY.SQL.CLEAR;
TIBQUERY.SQL.ADD(´

select campo from tabela
where campo like ´´´+EDIT1.TEXT+´¬´´´ ´);

TIBQUERY.CLOSE;
TIBQUERY.OPEN;

tem que ser sql dinamico para passar o parametro edit1.text.

Se funcionar e quiser trocar uma ideia sobre o delphi
pode escrever para flmzsjlle@yahoo.com.br meu nome e Francisco


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar