Atribuir parâmetro à instrução SQL em Oracle
05/01/2005
0
Estou usando oracle 9.0 com delphi 7. Tenho no meu projeto um componente TQuery com a seguinte propriedade SQL:
select * from lote
where lote.lote > :xlote
order by lote.lote
E um botão cujo evento onclick tem o seguinte código:
[b:0beba7a265]procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
qlote.Close;
qlote.ParamByName(´xlote´).Value:=strtofloat(edit1.Text);
qlote.Open;
end;[/b:0beba7a265]
onde qLote é meu componente TQuery e xlote é meu parâmetro que será digitado pelo usuário num TEdit.
O problema é que o delphi me apresenta o erro ´Operation not apllicable´ quando executo o comando [b:0beba7a265]qlote.open[/b:0beba7a265].
Sei que deve ser erro de sintaxe da instrução SQL, mas não sei como fazer correto.
Podem me ajudar?
Michelle
Posts
05/01/2005
Michelle
05/01/2005
Motta
qlote.ParamByName(´xlote´).AsFloat:=strtofloat(edit1.Text);
Verifique se o tipo do parametro está como Float , em algumas versões acho que isto pode dar problemas de falta a definição
06/01/2005
Michelle
Mesmo porque, qaundo estou debugando o código, a linha que apresenta erro é a da instrução [i:23ced39489]qLote.Open[/i:23ced39489]. Pela linha onde atribuo o parâmetro a execuçào passa numa boa.
O estranho é que o mesmo código com o Paradox funciona sem problemas. Tem alguma outra sugestão?
06/01/2005
Motta
A query está configura ao banco corretamente ?
O User que roda tem direito de exec. sql ?
Muito esquisito este erro num select tão simples ...
06/01/2005
Michelle
Todas as respostas são sim.
Acabei de fazer o seguinte teste:
- Inseri um componente TADO na mesma aplicaçào. Inseri a mesma instruçào SQL e o mesmo código pra um segundo botão.
Aúnica diferença é que no evento onclick do button2 o código na segunda linha ficou assim:
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
qloteado.Close;
qloteado.[b:e58e036afd]Parameters[/b:e58e036afd].ParamByName(´xlote´).Value:=strtofloat(edit1.Text);
qloteado.Open;
end;
e funcionou corretamente.
Tô ficando louca porque também acho o erro estranho.
Clique aqui para fazer login e interagir na Comunidade :)