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.
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)