Usuário com melhor resposta
Soma

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;
}
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- Marcado como Resposta William John Adam TrindadeModerator quarta-feira, 14 de fevereiro de 2018 21:09
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- Marcado como Resposta William John Adam TrindadeModerator quarta-feira, 14 de fevereiro de 2018 21:09
-