Select no Delphi com mais valores

22/01/2010

0

Fala Pessoal,   Estou com o seguinte problema, tenho esse select no firebird porem o mesmo não estou conseguindo passar para o delphi com algums mudanças:   Select :    select t_usuario.id,  t_usuario.nome, t_usuario.numero, t_usuario.regiao                from t_usuario
               left join t_movimentacao on t_movimentacao.id_usuario = t_usuario.id
               where t_usuario.id not in ( select id_usuario from t_movimentacao where mes = 'JANEIRO')
               and t_regiao.regiao in ('RIO CLARO','SÃO PAULO')   Esse é um select que tem uma condição com mais valores porem quando eu jogo ela no delphi eu quero que esses dois valores sejam de uma variavel.   assim :    dm.cds_movimentacao.close;
              dm.sql_movimentacao.close;
             dm.sql_movimentacao.commandtext := ' select t_usuario.id, t_usuario.nome, t_usuario.numero, t_usuario.regiao from t_usuario'+
             ' left join t_movimentacao on t_usuario.id = t_movimentacao.id_usuario'+
             ' where t_usuario.id not in ( select id_usuario from t_movimentacao where mes = ''' + v_mes + ''')'+
             ' and regiao in (''' + v_rc + ''',''' + v_sp34 + ''', )';
             dm.cds_movimentacao.open;     acontece o seguinte que essas minhas variaveis V-rc, v_sp34 não exatamente irá ter um valor, é bem flexivel os valores dela pode ser que somente 1 receba um valor e a outra não e pode ser que as duas recebam valores ai eu preciso consultar quando tem 1 com valor e quando tem as duas com valores quando as duas estão com valores a consulta funciona normal mas quando comente 1 está com valor ele dá um erro de conversão de string deve ser pq ele está tentando converter a variavel que está sem valor , mas como eu faço para anular essa variavel quando está sem valor.   OBS: Delphi 7 e firebird 2.0   No aguardo    
Clei Martins

Clei Martins

Responder

Posts

22/01/2010

Alan Souza

antes de executar sua consulta, vc vai ter que concatenar suas variáveis em uma string com o formato correto aceito no in, e aí sim passar essa string formatada pra consulta, para evitar passar duas vírgulas juntas ou coisa do gênero.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar