none
Soma RRS feed

  • Pergunta

  • Boa noite!!

    Preciso fazer a soma da coluna valor de um banco de dados.Por exemplo:

    A cada vez que a pessoa apertar o "btnBuscar" o programa devera efetuar uma soma que vai para o "txtValor".

    Esse é o código que tenho até agora:

     private void Buscar(Object o, EventArgs e)
            {
                try
                {
                    BLL.Postal post = new BLL.Postal();
                    if (txtCod.Text.Trim().Length > 0)
                    {
                        post.Codigo = Convert.ToInt32(txtCod.Text);
                        System.Data.OleDb.OleDbDataReader dr2;
                        dr2 = post.Consultar();
                        dr2.Read();
                        if (dr2.HasRows)
                        {
                            PermitirCampos(false);

                            //dgvVer.DataSource = txtCod.Text;
                            //dgvVer.DataSource = dr2["Codigo"].ToString();
                            //dgvVer.DataSource = dr2["Nome"].ToString();
                           txtValor.Text =  dr2["Valor"].ToString();
                           

                        }
                        else
                        {
                            PermitirCampos(true);
                        }

                        String Incluir = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Gustavo\Documents\Visual Studio 2013\Projects\Loja\ProjetoSistema\bin\Debug\Loja.accdb";
                        OleDbConnection colocar = new OleDbConnection(Incluir);
                        colocar.Open();

                        String SQL = "Select * from tbprodutos where Codigo = " + txtCod.Text;
                        OleDbDataAdapter Consutlar = new OleDbDataAdapter(SQL, colocar);
                        DataSet ds = new DataSet();
                        Consutlar.Fill(ds, "tbprodutos");
                        dgvVer.DataSource = ds.Tables["tbprodutos"];

                       
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                    //throw;
                }

    quarta-feira, 14 de fevereiro de 2018 00:12

Respostas

  • Se sua intenção é apenas fazer a soma do campo VALOR no método Consultar você pode já efetuar essa soma.

    Ex:

    select sum(valor) as Valor from suaTabela ....

    Caso contrario você precisa fazer um loop para efetuar essa soma.

    Ex:

    post.Codigo = Convert.ToInt32(txtCod.Text);
    System.Data.OleDb.OleDbDataReader dr2;
    dr2 = post.Consultar();
    PermitirCampos(false);
    decimal vTotal = 0;
    while (dr2.Read())
    {
       vTotal += Convert.ToDecimal(dr2["Valor"].ToString());
    }
    
    if(vTotal == 0)
    {
        PermitirCampos(true);
    }
    txtValor.Text = vTotal.ToString("0.00");

    Se tiver dúvidas ainda, pode perguntar aqui novamente!

     

    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Microsoft Developer .NET
    Microsoft Certified Professional
    Development Leader at JAMSOFT Informática
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    quarta-feira, 14 de fevereiro de 2018 11:48

Todas as Respostas

  • Se sua intenção é apenas fazer a soma do campo VALOR no método Consultar você pode já efetuar essa soma.

    Ex:

    select sum(valor) as Valor from suaTabela ....

    Caso contrario você precisa fazer um loop para efetuar essa soma.

    Ex:

    post.Codigo = Convert.ToInt32(txtCod.Text);
    System.Data.OleDb.OleDbDataReader dr2;
    dr2 = post.Consultar();
    PermitirCampos(false);
    decimal vTotal = 0;
    while (dr2.Read())
    {
       vTotal += Convert.ToDecimal(dr2["Valor"].ToString());
    }
    
    if(vTotal == 0)
    {
        PermitirCampos(true);
    }
    txtValor.Text = vTotal.ToString("0.00");

    Se tiver dúvidas ainda, pode perguntar aqui novamente!

     

    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Microsoft Developer .NET
    Microsoft Certified Professional
    Development Leader at JAMSOFT Informática
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    quarta-feira, 14 de fevereiro de 2018 11:48
  • Obrigado amigo!!!

    Me ajudou muito

    quarta-feira, 14 de fevereiro de 2018 20:58