Erro SQL ao Abrir a Query com Parâmetros
Pessoal
SELECT
RD.ID,
RD.DATA,
RD.DATA_INSTALACAO,
RD.REQUISITANTE,
RD.RESPONSAVEL,
CASE RD.ENCERRADO
WHEN 1 THEN ´SIM´
WHEN 0 THEN ´NÃO´
END AS ENCERRADO
FROM
REQUISICAO_DATASHOW RD
WHERE
RD.ID LIKE :ID AND
RD.ENCERRADO LIKE :ENCERRADO AND
RD.DATA_INSTALACAO LIKE :DATA_INSTALACAO
ORDER BY
1, 2, 6 DESC
roda perfeito no IBExpert
mas qdo eu tento rodar no delphi, passo os parametros em tempo de execução, mas da erro no campo ENCERRADO, veja o erro
´¬¬ is not a valid floating poit value´
o que será que está acontecendo ???
abraço
SELECT
RD.ID,
RD.DATA,
RD.DATA_INSTALACAO,
RD.REQUISITANTE,
RD.RESPONSAVEL,
CASE RD.ENCERRADO
WHEN 1 THEN ´SIM´
WHEN 0 THEN ´NÃO´
END AS ENCERRADO
FROM
REQUISICAO_DATASHOW RD
WHERE
RD.ID LIKE :ID AND
RD.ENCERRADO LIKE :ENCERRADO AND
RD.DATA_INSTALACAO LIKE :DATA_INSTALACAO
ORDER BY
1, 2, 6 DESC
roda perfeito no IBExpert
mas qdo eu tento rodar no delphi, passo os parametros em tempo de execução, mas da erro no campo ENCERRADO, veja o erro
´¬¬ is not a valid floating poit value´
o que será que está acontecendo ???
abraço
Eniorm
Curtidas 0
Respostas
Rjun
30/06/2006
Qual o tipo do campo ´ENCERRADO´? Que valor você está passando para ele no parâmetro?
GOSTEI 0
Eniorm
30/06/2006
ixi esqueci de mencionar, rsrsrs
o campo ENCERRADO é um dominio ´booleano do firebird´ criado como INTEGER, 1 true, 0 false....
o estranho que o campo ID (integer também) funciona normalmente com o ´¬¬´ mas está dando erro apenas no campo ENCERRADO
muito estranho
o campo ENCERRADO é um dominio ´booleano do firebird´ criado como INTEGER, 1 true, 0 false....
o estranho que o campo ID (integer também) funciona normalmente com o ´¬¬´ mas está dando erro apenas no campo ENCERRADO
muito estranho
GOSTEI 0
Rjun
30/06/2006
Por que você não usa um ´=´ em vez do LIKE?
GOSTEI 0
Cdouglas
30/06/2006
tambem nao entendo por q vc nao usa o ´=´!!!!
GOSTEI 0
Eniorm
30/06/2006
Muito bem.... eu simplesmente não posso usar o ´=´ pois qdo eu preciso abrir toda tabela eu uso o LIKE ´¬¬´
se eu usar o ´=´ não poderei usar o ´¬¬´
ou alguém tem alguma dica???
exemplo
SELECT NOME FROM CLIENTES WHERE CODIGO LIKE :CODIGO
se eu indicar o parametro CODIGO como 10
vai trazer apenas o cliente cujo codigo é 10
se eu usar o :CODIGO com ´¬¬´ trará todos, isso que eu preciso;
abraço
se eu usar o ´=´ não poderei usar o ´¬¬´
ou alguém tem alguma dica???
exemplo
SELECT NOME FROM CLIENTES WHERE CODIGO LIKE :CODIGO
se eu indicar o parametro CODIGO como 10
vai trazer apenas o cliente cujo codigo é 10
se eu usar o :CODIGO com ´¬¬´ trará todos, isso que eu preciso;
abraço
GOSTEI 0
Cdouglas
30/06/2006
Ja que vc prefere desta forma por que não formar o SQL dinamicamente
tipo :
with query1 do begin
Close;
Sql.Clear
sql.Add(<coloca seu select aqui ou so os clausulas>)
Open;
end;
tipo :
with query1 do begin
Close;
Sql.Clear
sql.Add(<coloca seu select aqui ou so os clausulas>)
Open;
end;
GOSTEI 0