none
Configurar um ProgressBar no c# RRS feed

  • Pergunta

  •  Boa noite

    Preciso fazer configuração de progressbar que conforme procedure for executando o mesmo possa indicar a processo

    alguem teria um exemplo com fazer esta configuração

    desde ja aguardeço se alguem puder me ajudar com este problema ..estou iniciando neste programação ..obrigado

    sexta-feira, 9 de março de 2012 02:01

Respostas

  • Marcos,

    Você não vai conseguir fazer uma progress bar que indique o progresso de uma database procedure... Isso não é possível nativamente porque do lado do .NET você não consegue saber qual é a porcentagem atual da execução da procedure... O banco de dados não informa pra você automaticamente quanto falta de tempo / processamento até o término da execução...

    Nesse caso, o que se faz normalmente é colocar não uma barra de progresso, mas sim, uma indicação de que algo está em processamento... A única maneira de representar exatamente a porcentagem de execução da procedure é se a própria procedure te informasse de alguma forma qual é o estágio atual da execução... E isso não vejo uma forma muito fácil de ser feita (a não ser que você faça alguma gambiarra gigante, do tipo a procedure armazenar em uma tabela temporária qual é a porcentagem atual de processamento dela e você ler essa porcentagem de tempos em tempos)...


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    • Sugerido como Resposta Augusto.Silva terça-feira, 27 de março de 2012 11:41
    • Marcado como Resposta MARCOS BOTAN sábado, 31 de março de 2012 00:40
    segunda-feira, 26 de março de 2012 17:53
    Moderador

Todas as Respostas

  • Bom dia Marcos, você já tem a progressbar criada? se tiver é só fazer a chamada dela antes da procedure e fechar depois, agora se precisa calcular tempo da procedure precisa saber o que vc ta fazendo nela.

    Segue dois link onde fala mais de progressbar e da um exemplo muito bom para entender!

    http://www.macoratti.net/vbn_pb1.htm

    http://www.juliobattisti.com.br/tutoriais/mauricioborges/progressbar001.asp

    Da uma olhada nesse post aqui mesmo do msdnbrasil -> http://social.msdn.microsoft.com/Forums/pt/504/thread/26f5b968-ecdb-4304-bf66-38f820802977

    Abraço.


    Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta



    sexta-feira, 9 de março de 2012 11:48
  • Bom dia Marcos, você já tem a progressbar criada? se tiver é só fazer a chamada dela antes da procedure e fechar depois, agora se precisa calcular tempo da procedure precisa saber o que vc ta fazendo nela.

    Segue dois link onde fala mais de progressbar e da um exemplo muito bom para entender!

    http://www.macoratti.net/vbn_pb1.htm

    http://www.juliobattisti.com.br/tutoriais/mauricioborges/progressbar001.asp

    Da uma olhada nesse post aqui mesmo do msdnbrasil -> http://social.msdn.microsoft.com/Forums/pt/504/thread/26f5b968-ecdb-4304-bf66-38f820802977

    Abraço.


    Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta



    private

    void btAtualizar_Click(object sender, EventArgs e)

    {

    varEmpresa = txEmpresa.Text;

    if (txEmpresa.Text != null

    )

    try

    {

    SqlConnection conn = conexao.obterConexao();

    SqlCommand comma = new SqlCommand();

    comma.Connection = conn;

    comma.CommandText =

    "SP_ATCLIENTES";

    comma.CommandType =

    CommandType.StoredProcedure;

    SqlParameter empresa = new SqlParameter("@pempresa", SqlDbType.Float);

    empresa.Value = varEmpresa;

    comma.Parameters.Add(empresa);

    int obj = comma.ExecuteNonQuery();

    SqlCommand commb = new SqlCommand();

    commb.Connection = conn;

    commb.CommandText =

    "select count(codigo) as total from "+varBanco+".dbo.clientes";

    SqlDataReader dr = null;

    if (txEmpresa.Text != null)

    try

    {

    dr = commb.ExecuteReader();

    if (dr.Read())

    {

    varTotal = dr[

    "total"].ToString();

    }

    }

    finally

    {

    if (dr != null) dr.Read();

    }

    MessageBox.Show("Atualizao Realizada Com Sucesso. Total de Clientes " +varTotal );

    }

    catch (Exception ex)

    {

    MessageBox.Show(ex.Message);

    }

    conexao.fecharConexao();

    }

    este intrução que chamo o procedure ..teria movo vc me dizer aonde que inicio o mesmo? melhor progressbar?

    sábado, 10 de março de 2012 02:24
  • Olá Marcos, ainda tem essa dúvida?

    wescley.net > Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta

    segunda-feira, 19 de março de 2012 14:15
  • Wescley

    Boa tarde ..Sim ainda não consegui fazer funciona..esta funcionando so que quando começa ele simplesmente no final parece que fui concluido ..mais naum fica indicando quanto falta ainda ..porem observado acho que não como  a naum ser que colocar algum ponto de inicio e outro para final

    so que ai esta o problema como coloca o inicio do procedure e o final

    se tiver alguma solução

    te aguardeço

    quinta-feira, 22 de março de 2012 18:04
  • Marcos,

    Você não vai conseguir fazer uma progress bar que indique o progresso de uma database procedure... Isso não é possível nativamente porque do lado do .NET você não consegue saber qual é a porcentagem atual da execução da procedure... O banco de dados não informa pra você automaticamente quanto falta de tempo / processamento até o término da execução...

    Nesse caso, o que se faz normalmente é colocar não uma barra de progresso, mas sim, uma indicação de que algo está em processamento... A única maneira de representar exatamente a porcentagem de execução da procedure é se a própria procedure te informasse de alguma forma qual é o estágio atual da execução... E isso não vejo uma forma muito fácil de ser feita (a não ser que você faça alguma gambiarra gigante, do tipo a procedure armazenar em uma tabela temporária qual é a porcentagem atual de processamento dela e você ler essa porcentagem de tempos em tempos)...


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    • Sugerido como Resposta Augusto.Silva terça-feira, 27 de março de 2012 11:41
    • Marcado como Resposta MARCOS BOTAN sábado, 31 de março de 2012 00:40
    segunda-feira, 26 de março de 2012 17:53
    Moderador