like em sql
Estou com problema nessa consulta:
dm_Geral.qry_pesquisa.SQL.Clear;
a:=´Select * From Tipodoc´;
b:=´Where Nm_tpdoc like :consulta´;
c:=´Order By Nm_tpdoc´;
dm_Geral.qry_pesquisa.SQL.Add(a+b+c);
dm_Geral.qry_pesquisa.ParamByName(´consulta´).AsString := QuotedStr(Edit2.text);
Erro Parametro não existe.
dm_Geral.qry_pesquisa.SQL.Clear;
a:=´Select * From Tipodoc´;
b:=´Where Nm_tpdoc like :consulta´;
c:=´Order By Nm_tpdoc´;
dm_Geral.qry_pesquisa.SQL.Add(a+b+c);
dm_Geral.qry_pesquisa.ParamByName(´consulta´).AsString := QuotedStr(Edit2.text);
Erro Parametro não existe.
Catharina
Curtidas 0
Respostas
Vmotta
12/08/2003
tenta dar um espaço no final da string a,b:
exemplo:
a:=´Select * From Tipodoc ´;
b:=´Where Nm_tpdoc like :consulta ´;
c:=´Order By Nm_tpdoc´;
t+
Vitor
exemplo:
a:=´Select * From Tipodoc ´;
b:=´Where Nm_tpdoc like :consulta ´;
c:=´Order By Nm_tpdoc´;
t+
Vitor
GOSTEI 0
Cfn2003
12/08/2003
acrescente antes de passar o parametro
parameter.items[0].datatype := ftstring;
parameters[0].value := xxxxx
parameter.items[0].datatype := ftstring;
parameters[0].value := xxxxx
GOSTEI 0
Vmotta
12/08/2003
Outra coisa, se vc quiser selecionar todos os regsitros que comecem com o texto contido em Edit2.text vc vai precisar utilizar o caracter ¬ como coringa, equivalente ao * no dos.
exemplo:
dm_Geral.qry_pesquisa.SQL.Clear;
a:=´Select * From Tipodoc ´;
b:=´Where Nm_tpdoc like ´´´ + edit2.text + ´¬´´ ´;
c:=´Order By Nm_tpdoc´;
dm_Geral.qry_pesquisa.SQL.Add(a+b+c);
tente utilizar esse código ok?
Vitor <vmotta@eep.br>
exemplo:
dm_Geral.qry_pesquisa.SQL.Clear;
a:=´Select * From Tipodoc ´;
b:=´Where Nm_tpdoc like ´´´ + edit2.text + ´¬´´ ´;
c:=´Order By Nm_tpdoc´;
dm_Geral.qry_pesquisa.SQL.Add(a+b+c);
tente utilizar esse código ok?
Vitor <vmotta@eep.br>
GOSTEI 0
Catharina
12/08/2003
Olá..
obrigada por terem respondido, o erro é no coringa, estou trabalhando em mssqlserver ele não está aceitando:
edit2.text + ´¬´ ?????????????
obrigada por terem respondido, o erro é no coringa, estou trabalhando em mssqlserver ele não está aceitando:
edit2.text + ´¬´ ?????????????
GOSTEI 0
Weber
12/08/2003
está dando erro porque voce não está usando aspas no like
Exemplo: Select * from clientes where cli_nome like ´¬Joao¬´.
Se voce estiver usando interbase dialeto 1 use aspas duplas ou se estiver usando interbase dialeto 3 use aspas simples.
Exemplo: Select * from clientes where cli_nome like ´¬Joao¬´.
Se voce estiver usando interbase dialeto 1 use aspas duplas ou se estiver usando interbase dialeto 3 use aspas simples.
GOSTEI 0
Vmotta
12/08/2003
Ola.
As aspas são fundamentais, por isso o código deve ser exatamente como o citado abaixo:
b:=´Where Nm_tpdoc like ´´´ + edit2.text + ´¬´´ ´;
após o like tem 3 aspas, as 2 primeiras para colocar uma aspa na string e a ultima que finaliza a primeira parte da string, o mesmo ocorre depois do ¬.
se preferir pode alterar essa linha para:
b:=´Where Nm_tpdoc like ´ + #39 + edit2.text + ´¬´ + 39 + ´ ´;
o caracter 39 é a aspa ...
T+
Vitor <vmotta@eep.br>
As aspas são fundamentais, por isso o código deve ser exatamente como o citado abaixo:
b:=´Where Nm_tpdoc like ´´´ + edit2.text + ´¬´´ ´;
após o like tem 3 aspas, as 2 primeiras para colocar uma aspa na string e a ultima que finaliza a primeira parte da string, o mesmo ocorre depois do ¬.
se preferir pode alterar essa linha para:
b:=´Where Nm_tpdoc like ´ + #39 + edit2.text + ´¬´ + 39 + ´ ´;
o caracter 39 é a aspa ...
T+
Vitor <vmotta@eep.br>
GOSTEI 0
Perin75
12/08/2003
dm_Geral.qry_pesquisa.SQL.Clear;
dm_Geral.qry_pesquisa.SQL.add(´Select * From Tipodoc ´);
dm_Geral.qry_pesquisa.SQL.add(´Where Nm_tpdoc like :consulta´);
dm_Geral.qry_pesquisa.SQL.add(´Order By Nm_tpdoc´);
dm_Geral.qry_pesquisa.ParamByName(´consulta´).AsString := ´¬´+Edit2.text+´¬´;
tenta isto
dm_Geral.qry_pesquisa.SQL.add(´Select * From Tipodoc ´);
dm_Geral.qry_pesquisa.SQL.add(´Where Nm_tpdoc like :consulta´);
dm_Geral.qry_pesquisa.SQL.add(´Order By Nm_tpdoc´);
dm_Geral.qry_pesquisa.ParamByName(´consulta´).AsString := ´¬´+Edit2.text+´¬´;
tenta isto
GOSTEI 0
Catharina
12/08/2003
Obrigada
por terem respondido e deu certo ficou assim:
a:=´Select * From Tipodoc ´;
b:=´Where nm_tpdoc like :consulta ´;
c:=´Order By Nm_tpdoc´;
dm_Geral.qry_pesquisa.SQL.Add(a+b+c);
dm_Geral.qry_pesquisa.Params.items[0].datatype := ftstring;
dm_Geral.qry_pesquisa.ParamByName(´c onsulta´).AsString := ´´+´¬´+Edit2.Text+´¬´ ;
v
por terem respondido e deu certo ficou assim:
a:=´Select * From Tipodoc ´;
b:=´Where nm_tpdoc like :consulta ´;
c:=´Order By Nm_tpdoc´;
dm_Geral.qry_pesquisa.SQL.Add(a+b+c);
dm_Geral.qry_pesquisa.Params.items[0].datatype := ftstring;
dm_Geral.qry_pesquisa.ParamByName(´c onsulta´).AsString := ´´+´¬´+Edit2.Text+´¬´ ;
v
GOSTEI 0