Passagem de parametros no ClientDataSet

Delphi

05/01/2004

Olá pessoal. Estou com um probleminha. Eu tenho um programa que roda no servidor que acessa o banco de dados. Em outra máquina eu tenho o programa cliente com componentes ClientDataSet. Alguns ClientDataSet acessam Querys no programa servidor. Quando eu passo um comando Sql normal através da propriedade CommandText do ClientDataSet, funciona. Mas quando tento passar algum valor por parâmetro, dá erro. Eu tentei usar da mesma forma que se usa em query mas não deu certo.
O código que estou usando é o seguinte:

texto := ´Select * from PPASIAD where ctr_ppa = :ctr and alu_ppa = :cliente and dti_ppa <= :data_hoje and dfe_ppa >= :data_hoje and (dtf_ppa is null)´;

PPASIAD.CommandText := texto;
PPASIAD.Params.ParamByName(´ctr´).asstring := num_contrato;
PPASIAD.Params.ParamByName(´cliente´).asstring := cod;
PPASIAD.Params.ParamByName(´data_hoje´).asdate := ESCSIADDAT_ESC.Value;
PPASIAD.OPEN;

Usando o código acima, dá o erro dizendo que a variável ctr não existe.
Como fazer então?????

Agradeço desde já.


Cristiano D.

Cristiano D.

Curtidas 0

Respostas

Denis

Denis

05/01/2004

Se não me engano, no clientdataset ele não tem os valores e nomes dos parametros que vc. está passando. Por isso é que dá o erro. Acho que se vc. entrar em paramentros e cria-los deve funcionar.


GOSTEI 0
Cristiano D.

Cristiano D.

05/01/2004

Denis, eu fiz o que você sugeriu e passou a dar este erro: ´Parameter not set in query string´. Será que dentro do texto sql a definição de paramêtros está correta? Eu tentei fazer como se faz em uma query normal mas eu não sei se no ClientDataSet seria da mesma forma. Se puder me dar uma luz iria ajudar bastante.

De qualquer forma valeu pela ajuda.


GOSTEI 0
Cristiano D.

Cristiano D.

05/01/2004

Sobe.


GOSTEI 0
POSTAR