Problema com consulta ADOQuery
Estou usando um delphi 7 com sql server.
Estou com problema nesta rotina:
Uso adoquery, (no meu datamoduulo, esta configurado o parametro e a sql), só que qdo executo, fala que o parametro txtcodigo não existe.
Se alguem puder me ajudar? :?:
DM.QRelRastrear.SQL.Clear;
DM.QRelRastrear.SQL.Add(´select i.codped, p.dtpedido, p.codcli, p.cliente, i.produto, i.qtde, i.nossolote from itens2 as i inner join pedidos2 as p´);
DM.qRelRastrear.SQL.Add(´on i.codped = p.codped´);
DM.QRelRastrear.SQL.Add(´WHERE i.produto like ´´:txtcodigo´´´);
DM.QRelRastrear.SQL.Add(´ORDER BY p.dtpedido´);
DM.QRelRastrear.Parameters.ParamByName(´txtcodigo´).Value := cbxProduto.Text;
ShowMessage(DM.QRelRastrear.Parameters.ParamByName(´txtcodigo´).Value);
DM.QRelRastrear.ExecSQL;
Estou com problema nesta rotina:
Uso adoquery, (no meu datamoduulo, esta configurado o parametro e a sql), só que qdo executo, fala que o parametro txtcodigo não existe.
Se alguem puder me ajudar? :?:
DM.QRelRastrear.SQL.Clear;
DM.QRelRastrear.SQL.Add(´select i.codped, p.dtpedido, p.codcli, p.cliente, i.produto, i.qtde, i.nossolote from itens2 as i inner join pedidos2 as p´);
DM.qRelRastrear.SQL.Add(´on i.codped = p.codped´);
DM.QRelRastrear.SQL.Add(´WHERE i.produto like ´´:txtcodigo´´´);
DM.QRelRastrear.SQL.Add(´ORDER BY p.dtpedido´);
DM.QRelRastrear.Parameters.ParamByName(´txtcodigo´).Value := cbxProduto.Text;
ShowMessage(DM.QRelRastrear.Parameters.ParamByName(´txtcodigo´).Value);
DM.QRelRastrear.ExecSQL;
Mfilho
Curtidas 0
Respostas
Sandra
31/01/2005
mfilho,
O que realmente deseja fazer com sua ADOQuery: consultar ([b:1e36ea6411]Select[/b:1e36ea6411]) ou inserir, alterar ou deletar ([b:1e36ea6411]Insert[/b:1e36ea6411], [b:1e36ea6411]Update[/b:1e36ea6411] ou [b:1e36ea6411]Delete[/b:1e36ea6411]) dados?
Pergunto pois, se quer consultar (devido a instrução Select), utilize o ´DM.QRelRastrear.Open;´. Utilize o ´DM.QRelRastrear.ExecSQL;´ somente se for inserir, alterar ou deletar dados.
Obs.: antes do ´DM.QRelRastrear.SQL.Clear;´ não se esqueça do ´DM.QRelRastrear.Close´.
Espero que ajude.
O que realmente deseja fazer com sua ADOQuery: consultar ([b:1e36ea6411]Select[/b:1e36ea6411]) ou inserir, alterar ou deletar ([b:1e36ea6411]Insert[/b:1e36ea6411], [b:1e36ea6411]Update[/b:1e36ea6411] ou [b:1e36ea6411]Delete[/b:1e36ea6411]) dados?
Pergunto pois, se quer consultar (devido a instrução Select), utilize o ´DM.QRelRastrear.Open;´. Utilize o ´DM.QRelRastrear.ExecSQL;´ somente se for inserir, alterar ou deletar dados.
Obs.: antes do ´DM.QRelRastrear.SQL.Clear;´ não se esqueça do ´DM.QRelRastrear.Close´.
Espero que ajude.
GOSTEI 0
Mfilho
31/01/2005
O meu problema está nesta linha, o parametro não esta sendo substituido pela variavel
Estou fazendo uma consulta para rastrear os lotes que o produto pertence.
O parametro txtcodigo, eu criei no adoquery, mas na hora de executar a consulta ele fala que o parametro não existe.
nesta linha abaixo.
DM.QRelRastrear.SQL.Add(´WHERE i.produto like ´´:txtcodigo´´´);
Estou fazendo uma consulta para rastrear os lotes que o produto pertence.
O parametro txtcodigo, eu criei no adoquery, mas na hora de executar a consulta ele fala que o parametro não existe.
nesta linha abaixo.
DM.QRelRastrear.SQL.Add(´WHERE i.produto like ´´:txtcodigo´´´);
GOSTEI 0
Sandra
31/01/2005
Tente fazer sua consulta assim:
Sem o par de aspas simples.
Outra coisa, substituiu o ExecSQL por Open?
DM.QRelRastrear.SQL.Add(´WHERE i.produto like :txtcodigo´);
Outra coisa, substituiu o ExecSQL por Open?
GOSTEI 0
Mfilho
31/01/2005
legal, sem as aspas funcionou.
Tive que tirar tambem o ¬ do parametro do like para funcionar, só que desse jeito ele só consulta o produto com o nome exato, quanto colocar as primeiras palavras do produto, consulte todos que começam com a palavra colocado.
Alguem pode me ajudar?
Tive que tirar tambem o ¬ do parametro do like para funcionar, só que desse jeito ele só consulta o produto com o nome exato, quanto colocar as primeiras palavras do produto, consulte todos que começam com a palavra colocado.
Alguem pode me ajudar?
GOSTEI 0
Vinicius2k
31/01/2005
Colega,
Vc deve colocar o [b:9cf1f01cca]¬[/b:9cf1f01cca] no valor que estará sendo passado ao parametro, por exemplo, desta forma :
T+
lTive que tirar tambem o ¬ do parametro do like para funcionar, só que desse jeito ele só consulta o produto com o nome exato, quanto colocar as primeiras palavras do produto, consulte todos que começam com a palavra colocado.
Vc deve colocar o [b:9cf1f01cca]¬[/b:9cf1f01cca] no valor que estará sendo passado ao parametro, por exemplo, desta forma :
DM.QRelRastrear.Parameters.ParamByName(´txtcodigo´).Value := cbxProduto.Text + ´¬´;
T+
GOSTEI 0
Mfilho
31/01/2005
legal, era isso mesmo.
muito obrigado.
muito obrigado.
GOSTEI 0