Re: [delphi-br] Case When no Delphi

2008-01-24 Por tôpico fabio giro
Qual o BD? Qual a versão do BD? Parece que o problema está na falta de plic´s 
antes da descrição. Experimente assim:
   
  (...)
  sql.add(' when 1 then ' +  + 'CRIANÇA'  +  );
sql.add(' when 2 then ' +  + 'ADULTO'  +  );  sql.add(' when 3 then 
' +  + 'IDOSO'  +  );
  (...)
   


  Espero ter ajudado.
  

ca_programador007 [EMAIL PROTECTED] escreveu:
  
Olá amigos da lista

Preciso de uma ajuda meio urgente..
Não sei o que eu estou fazendo de errado. 
Preciso utilizar o case when na minha consulta pelo seguinte:
Quando vier no conteúdo do campo (varchar) o número 1, então que me retorna a 
palavra CRIANÇA, quando vier o número 2, que me retorna a palavra ADULTO e 
quando vier o número 3, que me retorna a palavra IDOSO.

sql.add('select flag AS idade');
sql.add('case vci.flag');
sql.add('when 1 then CRIANÇA');
sql.add('when 2 then ADULTO');
sql.add('when 3 then IDOSO end as idade');
sql.add('from');
sql.add('tabela');

O que tem de errado aqui?

no aguardo de uma ajuda..
valeu, carlos

-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]



 

   
-
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Case When no Delphi

2008-01-24 Por tôpico Leslyn Fernandes
Não sei se estou sendo ingêunuo, mas na primeira linha, sql.add('select flag
AS idade');, falta uma vírgula no final... :)

Até mais!

2008/1/24 ca_programador007 [EMAIL PROTECTED]:


 Olá amigos da lista

 Preciso de uma ajuda meio urgente..
 Não sei o que eu estou fazendo de errado.
 Preciso utilizar o case when na minha consulta pelo seguinte:
 Quando vier no conteúdo do campo (varchar) o número 1, então que me
 retorna a palavra CRIANÇA, quando vier o número 2, que me retorna a palavra
 ADULTO e quando vier o número 3, que me retorna a palavra IDOSO.

 sql.add('select flag AS idade');
 sql.add('case vci.flag');
 sql.add('when 1 then CRIANÇA');
 sql.add('when 2 then ADULTO');
 sql.add('when 3 then IDOSO end as idade');
 sql.add('from');
 sql.add('tabela');

 O que tem de errado aqui?

 no aguardo de uma ajuda..
 valeu, carlos

 -
 Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
 armazenamento!

 [As partes desta mensagem que não continham texto foram removidas]

  




-- 
TFA,
Leslyn Fernandes
55-11-9159-3837
Computer Engineer
Integra Solutions

Imagination is more important than knowledge.
 - Albert Einstein


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Case When no Delphi

2008-01-24 Por tôpico José Mário Silva Guedes
Foge um pouco ao objetivo do tópico mas sugiro que use Format e QuotedStr
para o seu código ficar legível, em especial para outros programadores.
Exemplo:

SQL.Add(Format('WHEN 1 THEN %s',[QuotedStr('CRIANÇA')]));


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Case When no Delphi

2008-01-24 Por tôpico Wanderlei - Yahoo
Tenho um exemplo que uso no meu sistema (É C++ Builder, mas é igual no 
Delphi, basta trocar os - por . ):
Estou usando Banco de Dados MySQL.

adoqryFrmLancamento-SQL-Clear();
sql  = SELECT ;
/* Caso o Tipo de Lançamento for = 'D' então pega o próprio valor, SENÂO 
multiplca o Valor por -1) */
sql += SUM(CASE WHEN TipoLancamento = 'D' THEN ValorLancamento ELSE 
ValorLancamento*-1  END) as ValorSaldo ;
sql += FROM tbllancamento ;
sql += WHERE EXTRACT(MONTH FROM DataLancamento) = '12' AND EXTRACT(YEAR 
FROM DataLancamento) = '12' ;
sql += AND CodigoCliente = '18' ;
adoqryFrmLancamento-SQL-Add(sql);
adoqryFrmLancamento-Open();



Valeu
Wanderlei


[As partes desta mensagem que não continham texto foram removidas]