Array
(
)

Salvar dados com progresso

Franthesco
   - 02 fev 2006

Amigos...

Uma pequena dúvida...

Como salvar dados no banco de dados, com barra de progresso?

Outra coisa...

Como mostrar o número de registros do banco de dados, só que em forma de porcentagem?

Desde já, agradeço...

Abraços...


Rjun
   - 02 fev 2006

Que banco de dados você esta utilizando? Qual a tecnologia de acesso?

Normalmente quando você envia um comando para o banco de dados, você só tera o retorno após o processo ter sido finalizado.

Que tipo de informação você quer exibir em porcentagem?


Weber
   - 03 fev 2006

Sobre salvar com barra de progresso, não imano uma rotina que seja tão lenta no salvar a ponto de ser necessário um progresso.


Franthesco
   - 03 fev 2006

Banco de Dados FB / IB, componentes da palheta interbase para acesso, Delphi 7.

Estou trabalhando em um sistema para inscrições para concurso, banco de dados em rede...

Como a transação só é feita ao fechar a aplicação, e tem dias que cada computador faz em média de 100 / 200 cadastros, preciso que, verifique se o banco de dados está disponível para enviar, e e se estiver, me mostre em barra de progresso, a transação destes dados, vendo que, em um dia de grande movimento, trabalhando com 5 computadores, teremos 1000 ou mais cadastros para enviar ao banco de dados, e isto pode ser um pouco demorado...

Preciso também, que se o banco não estiver disponivel, ele salve estes dados localmente, para o envio mais tarde...

Os dados em porcentagem, seria, o total de registros do sexo masculino e total do registros do sexo feminino.

Por enquanto, acho que é isso...

Obrigado pela ajuda de vocês...

Abraços...


Aroldo Zanela
   - 03 fev 2006


Citação:
Sobre salvar com barra de progresso, não imano uma rotina que seja tão lenta no salvar a ponto de ser necessário um progresso.

Colega,

Uma aplicação GED por exemplo. Aqui temos arquivos com mais de 20 MB que são ´arquivados´ no banco e é necessário dar uma feedback para o usuário não ter a impressão que a aplicação ´congelou´.


Aroldo Zanela
   - 03 fev 2006


Citação:
Banco de Dados FB / IB, componentes da palheta interbase para acesso, Delphi 7.

Como a transação só é feita ao fechar a aplicação, e tem dias que cada computador faz em média de 100 / 200 cadastros, preciso que, verifique se o banco de dados está disponível para enviar, e e se estiver, me mostre em barra de progresso, a transação destes dados, vendo que, em um dia de grande movimento, trabalhando com 5 computadores, teremos 1000 ou mais cadastros para enviar ao banco de dados, e isto pode ser um pouco demorado...

Não entendi porque a transação só é feita ao fechar a aplicação. Por que?


Citação:

Preciso também, que se o banco não estiver disponivel, ele salve estes dados localmente, para o envio mais tarde...

O componente IBDatabase possui métodos que permitem este tipo de implementação até em edições professional do Delphi (ver: TestConnected, Connected, etc);

Citação:

Os dados em porcentagem, seria, o total de registros do sexo masculino e total do registros do sexo feminino.
Abraços...


Regra de três.


Franthesco
   - 03 fev 2006

Caro colega Aroldo Zanela,

Eu não entendo muito de delphi... Faço algumas coisinhas, sou curioso... Gosto de desenvolvimento de software, procuro ler bastante coisas...

Isto, de que, só é feita a transação quando a aplicação é fechada, li em fórum... Não sei se está certo... Pelo que li lá, os dados são gravados no servidor (banco de dados) somente quando fecho a aplicação, ou então dou IBTransaction.Commit... Não sei se estou certo, me corrija se eu estiver errado...

Outra coisa, como utilizo busca de cidades, e estados, e até mesmo cadastros já efetuados estava pensando:

Seria melhor buscar estes dados direto no banco de dados, ou intermediar através de uma aplicação servicdora (que eu não tenho a minima ideia de como se faz), que está rodando no servidor, e fazer a buscas dos dados na aplicação servidora, através da cliente...

Bem, não sei se fui claro nas minhas explicações...

Agradeço a todos os amigos que têm ajudado aqui no fórum, cresci bastante, através das dicas e sugestões aqui postadas...

Abraços...


Eniorm
   - 03 fev 2006

pelo pouco que entendo, se vc deixar um cadastro local (sem o commit) este registro só estará disponivel pra outro pc na rede após a aplicação que cadastrou esse registro seja fechada (como vc disse)

eu nos meus projetos eu uso o CommitRetaining logo após o Post dos dados..... assim qualquer ponto na rede podera ver esse registro apos ele ter sido gravado, sem necessidade de que se feche algum aplicativo.


sobre a barra de progresso tbm nunca vi nada, ja pensei em montar uma pra consultas SQL, oq pelo que vi não é possível saber o total com exatidão, pois a consulta SQL trás registros de acordo com as condições da instrução (where....)

mas ficaria legal vc montar uma telinha de aviso, que fosse aberta (ShowModal) antes de iniciar o processo de ´arquivamento´ dos dados, aí vc fecharia a tela logo após ter concluido o processo.

abraço


Martins
   - 03 fev 2006

Certo pessoal!!!

O Aroldo e o Enio já mostraram caminhos a serem seguidos para q vc consiga o q deseja ou q possa melhorar sua aplicação, quanto a barra de progresso, li sobre algo assim com BDE, nunca testei e não posso afirmar q funcione, com SQL acho o mesmo q o Enio, quanto a porcetagem de homes e mulheres do seu banco vc poderia pegar a quantidade total de registros (M, F), digamos q desse um valor de 1200, depois atrtavés de instruções SQL vc saberia exatamente quantos individuos do sexo (F) e do sexo (M) existem em seu banco, vamos supor q do sexo (F) sejam 500 e do (M) sejam 700, então vc teria os dados necessários para montar sua regra de três simples e ter o percentual.
#Código


M = 700
F = 500
T = 1200

Percent_M = (700 * 100) / 1200
Percent_F = (500 * 100) / 1200


Com isso vc teria o percentual de Homes e Mulheres.

Boa sorte!!


Cabelo
   - 03 fev 2006


Citação:

Citação:
Sobre salvar com barra de progresso, não imano uma rotina que seja tão lenta no salvar a ponto de ser necessário um progresso.

Colega,

Uma aplicação GED por exemplo. Aqui temos arquivos com mais de 20 MB que são ´arquivados´ no banco e é necessário dar uma feedback para o usuário não ter a impressão que a aplicação ´congelou´.


O que seria uma aplicação GED????????


Aroldo Zanela
   - 03 fev 2006

Colega,

GED é Gerenciamento Eletrônico de Documentação. Os documentos são capturados ou elaborados e convertidos para o formato PDF e arquivados num banco de dados (nesta caso estou usando Firebird). Só podem ser visualizados e impressos de acordo com o perfil do usuário, bem como, faz alguns controles, como: quem imprimiu, viu, elaborou, revisou, aprovou, etc. Voltado para certificações de qualidade total.


Sistemald
   - 04 fev 2006

Oi aroldo, poderia explicar melhor como faz o feedback?


Aroldo Zanela
   - 06 fev 2006


Citação:
Oi aroldo, poderia explicar melhor como faz o feedback?

Colega,

Você pode criar essa rotina com a composição de TSQLMonitor e propriedades TraceFlags do componente TIBDataBase, todos da pelata Interbase (IBX).


Eniorm
   - 06 fev 2006

tentei montar uma telinha pra simular o progresso, abro esse form antes do Open, e fecho-o logo apos...... o problema é que..... se eu usar o ShowModal, a tela fica presa, e só executa a consulta qdo eu fecho a telinha de progresso.....

se eu uso o Show, a tela some logo em seguida pois meu projeto é SDI e não MDI.......

preciso testar agora algo com o Application.ProcessMessages pra ver se apos o showmodal, a consulta seja executada....

agora, se o amigo Zanela puder passar alguma referencia ao esquema q ele mencionou, IBSQLMonitor, a gente ficaria agradecido :)

abraço