Query Passagem de Parâmetro SSoooocccooorrooo!!!!!!!!
01/03/2003
0
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
Posts
01/03/2003
Anonymous
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
01/03/2003
Anonymous
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.
01/03/2003
Ilanocf
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.
02/03/2003
Anonymous
:arrow: Monique Farias
06/03/2003
Anonymous
Como faço para incluir mais de um parametro no caso acima?
06/03/2003
Paulino
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:
06/03/2003
Anonymous
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
Clique aqui para fazer login e interagir na Comunidade :)