Como comparar params boolean...

Delphi

05/10/2006

Tenho a seguinte senteça SQL:

SELECT Evento.DESCRICAO, Registro.HORA, Registro.DATA, Registro.ID_EVENTO, Registro.ID_REGISTRO, Registro.ID_USUARIO
FROM REGISTRO Registro
   LEFT JOIN EVENTO Evento
   ON  (Registro.ID_EVENTO = Evento.ID_EVENTO)  
WHERE   (Registro.ID_USUARIO = :piID_USUARIO)  
   AND  (Registro.DATA = :pdDATA or :pbEmptyData = True)
ORDER BY Registro.HORA


onde eu vou passar [color=red:fd9e21c1bb]True[/color:fd9e21c1bb] para [color=red:fd9e21c1bb]:pbEmptyData[/color:fd9e21c1bb] caso eu não queira filtrar por data.

Sendo que não está dando certo, me retorna o seguinte erro:

Database server error: Column unknown TRUE At line 6, column 35.


Tenho consciencia de que estou fazendo errando no trecho [color=red:fd9e21c1bb]or :pbEmptyData = True[/color:fd9e21c1bb]

Como fazer para corrigir isto sem fugir a esta lógica?

Desde já sou grato.


Aloizio Castro

Aloizio Castro

Curtidas 0

Respostas

Night_man

Night_man

05/10/2006

voce nao pode montar o select de maneira diferente, caso queira comparar com a data coloca o where de data senao nao?!


GOSTEI 0
Aloizio Castro

Aloizio Castro

05/10/2006

Posso, mas fazia assim com BDE e funcionava, achei que tb funcionaria com DBX!!!


GOSTEI 0
Night_man

Night_man

05/10/2006

SELECT
Evento.DESCRICAO,
Registro.HORA,
Registro.DATA,
Registro.ID_EVENTO,
Registro.ID_REGISTRO,
Registro.ID_USUARIO
FROM
REGISTRO Registro
LEFT JOIN EVENTO Evento ON
(Registro.ID_EVENTO = Evento.ID_EVENTO)
WHERE
(Registro.ID_USUARIO = :piID_USUARIO) AND
(Registro.DATA = :pdDATA or :numero = 1)
ORDER BY
Registro.HORA

trocar de data por inteiro

parambyname(´numero´).asinteger = 1;


GOSTEI 0
Micheus

Micheus

05/10/2006

[b:62ff060579]_anderson_[/b:62ff060579], vc não informou em que banco está utilzando este comando, mas em todos os casos, se realmente precisar fazer desta forma, troque TRUE por 1

[]s


GOSTEI 0
Micheus

Micheus

05/10/2006

Foi mal. Peguei para edição e demorei. Não tinha visto que já tinha uma resposta.


GOSTEI 0
POSTAR