[firebase-br] Como Capturar SQL de um Campo ??

Luciano franca luapfirebird em yahoo.com.br
Qui Out 27 10:54:52 -03 2016


Não são todas as querys iguais são todas diferentes.Acho que ainda não consegui lhe explicar direito.
São varias querys mais cada uma diferente,  exemplo Consulta de Clientes,  Consulta de Vendas,  Consulta de Contas Bancarias,  Consulta de Estoque  Etc...
Cada uma tem uma query diferente e eu tenho um sistema de Filtro onde na própria consulta o cliente clica no campo eu abro um "Builder"  para fazer um filtro pois essas consultas abrem sem registros  são todas vazias,  assim o cliente faz o Filtro na hora porém Eu criei algo Genérico para o sistema todo ou seja quando abre esse Builder para fazer o filtro esse "Builder"  funciona para todas as consultas.
 Atualmente essa tela de Builder que já faz o filtro já está funcionando 100%  o problema é que quando um campo é complexo ou seja formado por uma "Subquery" ou um "Coalesce" como no exemplo que postei eu não consigo pegar o conteúdo desse comando SQL para poder colocar na "Clausula Where"  para poder montar o Filtro. 

    Em Quinta-feira, 27 de Outubro de 2016 10:38, Gladiston Santana <gladiston em vidy.com.br> escreveu:
 

 Se eu tivesse uma querie que se repete eu a refatorava e num método abstraia tudo que pudesse, mas só faria isso uma vez e reutilizaria muitos.Numa linguagem OO como o delphi, ter 1.000 versões da mesma query chego a pensar que alguém aí é mais fã do ctrl+c/ctrl+v do que refatorar essas repetições.
É preciso saber detalhes de como trabalham e você não foi muito bom em explicar o problema da primeira vez, mas considerando que são campos calculados conforme o capricho desejado poderia-se ter uma view ou mais views com 1.000 campos concatenados/somados/case-when/... de maneiras diferentes um do outro, mas o que importa é saber qual usá-los no seu app. Trabalho em equipe é mehor ter uma biblioteca de views diferentes do que cada programador sair criando ctrl+c/ctrl+v e começar o fork de outra query. pense nisso.
O FB e tantos outros BDs tem muitos caminhos para o que precisa, para não ter que apelar para um parse, mas se é o que precsa, o firedac tem suporte a macros, não sei como usa-los, mas eles servem para trocar uma tag-macro que voce tenha criado por algo literal, acho que é isso.
[]´s e boa sorte.




   


Mais detalhes sobre a lista de discussão lista