Parâmetros com DbExpress

Delphi

27/11/2006

oi pessoal...
esse erro é meio estranho
Tenho o seguinte

var
cds: TClientDataSet;
dsp: TDataSetProvider;
qe: TSQLQuery;

begin
//faz-se os creates...
dsp.DataSet := qe;
cds.SetProvider(dsp);

qe.SQL.Add(´select Codigo from Teste where Codigo = :Codigo´);
qe.ParamByName(´Codigo´).AsInteger := 1;
cds.Open; //FUNCIONA

cds.Close;
cds.SetProvider(dsp);
qe.SQL.Add(´select Codigo from Teste where Codigo = :Codigo and Codigo = :Codigo´);
qe.ParamByName(´Codigo´).AsInteger := 1;
cds.Open; //AQUI ACONTECE UM ERRO...
//Nenhum valor foi fornecido para um ou mais parâmetros necessários.

//faz-se os frees...
end;


Quer dizer... se eu usar dois parâmetros com o mesmo nome no segundo caso dá erro.
Mas se eu usar dois parâmetros com o mesmo nome no primeiro e segundo caso tudo funciona.
Se eu der um close em ´qe´ ao invés do ´cds´ também funciona. Só que isto não é correto e gera erro em outros momentos. Se eu der close nos dois componentes o erro persiste.

Se alguem puder me dar uma luz ficarei muito agradecido.


Miudo

Miudo

Curtidas 0
POSTAR