Passagem de parametros no ClientDataSet
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á.
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.
Curtidas 0
Respostas
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.
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.
De qualquer forma valeu pela ajuda.
GOSTEI 0
Cristiano D.
05/01/2004
Sobe.
GOSTEI 0