Salvar dados com progresso

02/02/2006

0

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...


Franthesco

Franthesco

Responder

Posts

02/02/2006

Rjun

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?


Responder

03/02/2006

Weber

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.


Responder

03/02/2006

Franthesco

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...


Responder

03/02/2006

Aroldo Zanela

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´.


Responder

03/02/2006

Aroldo Zanela

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?

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);
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.


Responder

03/02/2006

Franthesco

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...


Responder

03/02/2006

Eniorm

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


Responder

03/02/2006

Martins

Certo pessoal!!!

O [b:235d5ef417]Aroldo e o Enio[/b:235d5ef417] 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 [b:235d5ef417]Enio[/b:235d5ef417], 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.
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!!


Responder

03/02/2006

Cabelo

[quote:2737a09a93=´Aroldo Zanela´]
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´.[/quote:2737a09a93]

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


Responder

03/02/2006

Aroldo Zanela

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.


Responder

04/02/2006

Sistemald

Oi aroldo, poderia explicar melhor como faz o feedback?


Responder

06/02/2006

Aroldo Zanela

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).


Responder

06/02/2006

Eniorm

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 [b:fba31169c8]ShowModal[/b:fba31169c8], 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 é [b:fba31169c8]SDI[/b:fba31169c8] e não [b:fba31169c8]MDI[/b:fba31169c8].......

preciso testar agora algo com o [b:fba31169c8]Application.ProcessMessages[/b:fba31169c8] 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


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar