Ir para conteúdo
  • Cadastre-se

dev botao

Alterar comandos no TZQuery em tempo de execução


  • Este tópico foi criado há 2487 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Estou migrando meu sistema de BDE para Zeos, e me deparei com o seguinte problema. Tenho muitas querys onde altero os comandos SQL em tempo de execução. Dou um Close na query altero os comandos e dou um Open novamente, no TwwQuery (InfoPower) e no TQuery (BDE) funciona legal. Porém no TZQuery e no TZReadOnlyQuery quando abro a query novamente não atualiza os dados, ou seja, continua os dados que tinha antes, é como se eu não houvesse mudado os comandos, mais já debuguei e ví que os comandos estão alterados. Existe alguma propriedade ou algo que tenho que fazer para funcionar?

_________________

Ronaldo Lazarin

RSis Gestão Empresarial©

RSis Software

Link para o comentário
Compartilhar em outros sites

Juliomar, Obrigado por responder amigo!

Descobri que só está acontecendo isso em um campo do tipo data. A query é essa.

select vrp.VRP_CODIGO, vrp.PES_COD_CLIENTE, cli.PES_NOME, vrp.VRP_COMPLEMENTO,  vrp.VRP_DATA,
       vrp.VRP_DATA_ENCERRAMENTO, vrp.VRP_VAL_TOTAL_LIQUIDO as VALOR_LIQUIDO,  vrp.VRP_STATUS, vrp.PES_COD_VENDEDOR,
       vnd.PES_NOME as VENDEDOR, vrp.VRP_DATA_VALIDADE
  from VENDA_RAPIDA vrp
  left join PESSOAS cli on cli.PES_CODIGO = vrp.PES_COD_CLIENTE
  left join PESSOAS vnd on vnd.PES_CODIGO = vrp.PES_COD_VENDEDOR
 where vrp.EMP_CODIGO = 0
   and vrp.VRP_STATUS in ('A','P')
   and vrp.PES_COD_VENDEDOR = 1

   and vrp.VRP_DATA between '05/01/2016' and '05/31/2016 23:59:59'
   and vrp.PES_COD_CLIENTE = 1
 order by vrp.VRP_CODIGO desc

Os outros filtros estão funcionando, somente esse filtro pela data não funciona. Já tentei utilizar o cast() para converter a data e nada. Parece ignorar essa linha.

 

Juliomar

Sobre o CacheUpdate, como estou utilizando o TZReadOnlyQuery, que é somente leitura ele não tem cacheupdate.

_________________

Ronaldo Lazarin

RSis Gestão Empresarial©

RSis Software

Link para o comentário
Compartilhar em outros sites

Mais uma coisa estranha, se utilizar os operadores >= ou <= funciona, mais com o between não funciona:

qryVendas.SQL[vilIdxSQL] := 'and vrp.VRP_DATA >= '+QuotedStr(FormatDateTime('mm/dd/yyyy',dbePeriodo1.Date));

qryVendas.SQL[vilIdxSQL] := 'and vrp.VRP_DATA <= '+QuotedStr(FormatDateTime('mm/dd/yyyy',dbePeriodo2.Date)+' 23:59:59');

qryVendas.SQL[vilIdxSQL] := 'and vrp.VRP_DATA between '+QuotedStr(FormatDateTime('mm/dd/yyyy',dbePeriodo1.Date)+' 00:00:00')+' and '+QuotedStr(FormatDateTime('mm/dd/yyyy',dbePeriodo2.Date)+' 23:59:59');

_________________

Ronaldo Lazarin

RSis Gestão Empresarial©

RSis Software

Link para o comentário
Compartilhar em outros sites

Descobri o problema!!!

Primeiramente descobri que o erro só ocorria quando eu informava data + hora ( ex: '01/01/2017 23:59:59'), se informasse somente data ( ex: '01/01/2017') funcionava normalmente. Então fui alterando as propriedades do TZReadOnlyQuery uma-a-uma e testando para ver se alguma estava influenciando nisso, até que alterei a propriedade ParamCheck para FALSE e então funcionou. Não sei responder porque mais é isso.

_________________

Ronaldo Lazarin

RSis Gestão Empresarial©

RSis Software

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2487 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.