Fórum Capturar o tempo de um update de uma Query #337597
08/02/2007
0
estou trabalhando numa aplicação com Delphi 7 Enterprise, PostGreSql 8.1 e Zeos 6.5.1. Gostaria de saber se é possível capturar o progresso de uma query e jogar num gauge ou ProgressBar. Estou realizando update com sub-consultas e o processo fica um pouco lento. Tem como eu jogar o tempo que a query leva para realizar o update num gauge ou progressbar? Sei que com o BDE existe essa possibilidade (só não sei como fazer) mas não sei se existe utilizando a Zeos ou qualquer outro componente de acesso.
Agradeço desde já toda ajuda.
Zooropa
Curtir tópico
+ 0Posts
13/02/2007
Zooropa
Agradeço qualquer ajuda.
Gostei + 0
14/02/2007
Zooropa
eu só quero saber se é possível realizar isso...se não for eu vou tentar outra coisa mas preciso saber se existe essa possibilidade...
Gostei + 0
14/02/2007
Callegaro
Gostei + 0
14/02/2007
Zooropa
a query é mais ou menos assim:
update tabela set valor= (select ndebito from tcontabil where cod_usu = ´0079´) where cod_usu = ´0079´
É um pouco mais complexo que isso mas este update altera todos os registros da tabela de uma só vez de dois campos de valores (neste caso, 2246 registros) porém a subconsulta é maior (possui tabelas joinadas) e os campos de checagem também. A alteração funciona e leva cerca de 50 segundos porém eu queria passar isso pra um gauge pra o usuário saber o que está acontecendo e não pensar que está travado.
Detalhe: fora esta eu possuo mais duas queries do mesmo tipo dentro da mesma procedure.
Obrigado.
Gostei + 0
21/02/2007
Gm.gui
Gostei + 0
12/03/2007
Ricknetbr
Na realidade, é indiferente para o usuário se está atualizando o primeiro ou o último, ele quer somente saber se o programa não travou. O tempo que isso vai levar, será o tempo necessário.
Eu pessoalmente coloco uma barra de progresso que vai ´andando´ e faço a verificação para ver se não perdi a conexão com o banco. Assim o usuário sabe que o aplicativo não travou.
Espero que ajude.
Abraços
Ricardo.
Gostei + 0
12/03/2007
Aerreira
update tabela set valor= (select ndebito from tcontabil where cod_usu = ´0079´) where cod_usu = ´0079´
Caro Zooropa, você faz essa atualização apenas num único COD_USU de cada vez manualmente, ou faz um loop pegando todos os cod_usu´s e em cada um deles executa esse update? Se for isso, então coloque o Cauge/ProgressBar no loop de cod_usu. Não ficará como deseja, mas já vai melhorar seu resultado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)