Fórum DUVIDA EM sql IN #595661
23/07/2018
0
WHERE
CODCLIE in (:para)
estou jogando no dellphi
ClientDataSet1.close;
ClientDataSet1.Params[0].AsString:= ''''''''1,4'''''''' ;
ClientDataSet1.open;
alguem ja fez usando parâmetro para dar certo ?
Marcos Cruz
Curtir tópico
+ 0Post mais votado
24/07/2018
Não deveria haver problema para executar o seu código. Verifique primeiro se fixando os valores no SQL, a sua consulta retorna resultado.
Somente, ao passar o parâmetro, pode passar com as aspas simples mesmo.
ClientDataSet1.Params[0].AsString:= '1,4';
Fernando Duwe
Gostei + 2
Mais Posts
24/07/2018
Marcos Cruz
mas da erro de conversao .. o sql entende que é integer so que no paramentro do cliendaset eu coloquie que é string
Gostei + 0
24/07/2018
Roberto Wutke
tipo
select * from medico where med_tratamento in( #Tratamento );
este seria o código dentro da sua query, assim vc faria o seguinte.
ClientDataSet1.close;
ClientDataSet1.CommandText := StringReplace(ClientDataSet1.CommandText, #Tratamento, ' ''a'', ''b'', ''c,'' ');
ClientDataSet1.open;
acredito que isso vá te resolver.
bons códigos.
Gostei + 0
25/07/2018
João Filho
Acredito que isso irá resolver seu problema, concatene seus valores utilizando o QuotedStr que ele já ira tratar de colocar as aspas duplas para você ("), é interessante também você criar uma função para te retornar estes dados tratados. Segue abaixo:
ClientDataSet1.close;
ClientDataSet1.Params[0].AsString:= QuotedStr('1') + ',' + QuotedStr('4'));
ClientDataSet1.open;
Atenciosamente, espero ter ajudado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)