Fórum Alterar WHERE em tempo de execução #374905

14/09/2009

0

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

Responder

Posts

15/09/2009

Knight_of_wine

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.


Responder

Gostei + 0

15/09/2009

Silviomorelo

Obrigado, pela resposta.

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


Responder

Gostei + 0

15/09/2009

Emerson Nascimento

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

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

for excecute statement instrucao


Responder

Gostei + 0

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

Aceitar