Parâmetros em SQL - cláusula LIKE???
Olá pessoal,
seguinte, tenho este código:
so q está dando erro na consulta, pois (ERRO: parametro nome não encontrado) creio que não estou sabendo concatenar a Cláusla LIKE com o parâmetro, alguem poderia me dar uma luz?
Obrigado!
seguinte, tenho este código:
with ADOQuery1 do begin SQL.Text:= ´SELECT * FROM tb_profe WHERE Nome LIKE :nome¬´; Parameters.ParametersByName(´nome´).Value := Edit1.Text; Open; end;
so q está dando erro na consulta, pois (ERRO: parametro nome não encontrado) creio que não estou sabendo concatenar a Cláusla LIKE com o parâmetro, alguem poderia me dar uma luz?
Obrigado!
Rockbilly
Curtidas 0
Respostas
Nildo
18/08/2004
with ADOQuery1 do begin SQL.Text := ´SELECT * FROM tb_profe WHERE Nome LIKE :nome ´´¬´´´; Parameters.ParametersByName(´nome´).Value := Edit1.Text; Open; end;
Use CTRL+C e CTRL+V porque o jogo de aspas é estranho na visualização, mas agora está correto.
GOSTEI 0
Rockbilly
18/08/2004
nildo, obrigado por postar... mas está dando erro:
o q pode ser, tente colocar mais uma aspa simples, na esquerda e direita, mas mesmo assim continuou dando erro, pode me ajudar?
Incorrect syntax next ´¬" Process stopped
o q pode ser, tente colocar mais uma aspa simples, na esquerda e direita, mas mesmo assim continuou dando erro, pode me ajudar?
GOSTEI 0
Vinicius2k
18/08/2004
Colega,
Na verdade vc tem que contenar o ´¬´ com valor do parametro e não com o parametro...
T+
Na verdade vc tem que contenar o ´¬´ com valor do parametro e não com o parametro...
with ADOQuery1 do begin SQL.Text:= ´SELECT * FROM tb_profe WHERE Nome LIKE :nome´; Parameters.ParametersByName(´nome´).Value := Edit1.Text + ´¬´; Open; end;
T+
GOSTEI 0
Nildo
18/08/2004
Tente assim:
SQL.Text := ´SELECT * FROM tb_profe WHERE Nome LIKE :nome [size=18:727274df49]+[/size:727274df49] ´´¬´´´;
É que eu uso o MySQL, e pode ser diferente :roll:
SQL.Text := ´SELECT * FROM tb_profe WHERE Nome LIKE :nome [size=18:727274df49]+[/size:727274df49] ´´¬´´´;
É que eu uso o MySQL, e pode ser diferente :roll:
GOSTEI 0
Otto
18/08/2004
ao invez de parametros, pq nao tentar diretp??
:wink:
SQL.Text:= ´SELECT * FROM tb_profe WHERE Nome LIKE "¬´ + edit1.text + ´¬"´;
:wink:
GOSTEI 0
Rockbilly
18/08/2004
Tente assim:
SQL.Text := ´SELECT * FROM tb_profe WHERE Nome LIKE :nome [size=18:d8170bd2c1]+[/size:d8170bd2c1] ´´¬´´´;
É que eu uso o MySQL, e pode ser diferente :roll:
pow nildo, era isso, vlw mesmo!!
grato tb vinicius!
GOSTEI 0
Vinicius2k
18/08/2004
Blz ! vc tem aí 3 formas de fazer e todas corretas... :wink:
Eu prefiro contatenar no valor do parametro, pq dependendo da condição eu coloco o ¬ antes, ou depois, ou antes e depois... mas é questão de escolha...
T+
Eu prefiro contatenar no valor do parametro, pq dependendo da condição eu coloco o ¬ antes, ou depois, ou antes e depois... mas é questão de escolha...
T+
GOSTEI 0
Rockbilly
18/08/2004
otto, vlw o toque... particularmente preferi por parametro pq é bom aprender desta forma, aproveitando o gancho, como q arrumo este código para incluir, pois tb está dando erro:
alguem pode me ajudar de novo, Obrigadão pessoal!
with ADOQuery1 do begin SQL.Text:= ´INSERT INTO tabela VALUES(:nome,:endereco,:bairro,:cep)´; Parameters.ParametersByName(´nome´).Value := Edit1.Text; Parameters.ParametersByName(´endereco´).Value := Edit2.Text; Parameters.ParametersByName(´bairro´).Value := Edit3.Text; Parameters.ParametersByName(´cep´).Value := Edit4.Text; Open; end;
alguem pode me ajudar de novo, Obrigadão pessoal!
GOSTEI 0
Nildo
18/08/2004
SQL.Text:= ´INSERT INTO tabela VALUES( :nome , :endereco , :bairro , :cep )´;
separe os parametros de outros caracteres, com um espaço.
Se não funcionar, você deve setar o tipo do parametro como ftString.
separe os parametros de outros caracteres, com um espaço.
Se não funcionar, você deve setar o tipo do parametro como ftString.
GOSTEI 0
Vinicius2k
18/08/2004
Se a sua tabela só tiver estes 4 campos vc pode usar direto o Values senão teria que ser ... into tabela(campo1,campo2,...) values (param1,param2,...)
No mais, é só trocar o método Open, por ExecSQL... vc só usa Open, para instruções Select... Inserts, Updates, Deletes, DDL e DCL é ExecSQL...
T+
No mais, é só trocar o método Open, por ExecSQL... vc só usa Open, para instruções Select... Inserts, Updates, Deletes, DDL e DCL é ExecSQL...
T+
GOSTEI 0
Rockbilly
18/08/2004
Nildo e vinicius, blz? tentei suas dicas, mas me retorna o erro de:
o q poderia ser?
nildo, isso q vc falou ftstring, seria uma função a ser aplicada nos parametros? poderia me ajuda?
obrigado turma!
ADOQuery1 parameter nome not found
o q poderia ser?
nildo, isso q vc falou ftstring, seria uma função a ser aplicada nos parametros? poderia me ajuda?
obrigado turma!
GOSTEI 0
Rockbilly
18/08/2004
Opa, coonsegui!! Vinicius, sua dica foi show de bola!
vlw tb nildo!
obrigadao!
vlw tb nildo!
obrigadao!
GOSTEI 0