Alterar WHERE em tempo de execução

Delphi

14/09/2009

Através do delphi eu preciso informar para stored procedure qual vai ser o tipo do filtro na consulta, do lado do delphi OK mas do lado do Firebird eu não sei como fazer para alterar o Where do Select em tempo de execução, por exemplo:

Condicao = ´CAMPO = 1´
ou
Condicao = ´CAMPO LIKE ´NOME´´

SELECT * FROM WHERE Condicao

Obrigado


Silviomorelo

Silviomorelo

Curtidas 0

Respostas

Knight_of_wine

Knight_of_wine

14/09/2009

Eu trabalho com SQLServer, mas eu preencho a propriedade SQL no caso do SQLQuery assim:

SELECT * FROM CLIENTES
WHERE CD_CLIENTE = 0 --LINHA ALTERADA DINAMICAMENTE


Aí na hora que preciso fazer o if faço assim.

if(tipoCliente = 1) then
   Qry.SQL[1] := WHERE CD_CLIENTE = 1
else
   Qry.SQL[1] := WHERE CD_CLIENTE = 2;


A linha começa a contar apartir do 0.

Espero que isso te ajude.


GOSTEI 0
Silviomorelo

Silviomorelo

14/09/2009

Obrigado, pela resposta.

Mas essas alterações servem tambem para stored procedure do firebird?


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

14/09/2009

utilize o comando [b:4bf43c45f6]execute statement[/b:4bf43c45f6]

instrucao = ´SELECT * FROM TABELA WHERE CODIGO = ´ || cast(:ncod as varchar(10))

for excecute statement instrucao


GOSTEI 0
POSTAR