REVELAR

Fórum Parâmetros com DbExpress #333816

27/11/2006

0

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

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar