Somar valores de uma GridView asp.net

19/11/2014

Boa tarde!!!

Galera, estou com uma dúvida, eu tenho uma GridView que recebe vários valores, este valores pertencem a uma tabela de produtos no banco de dados. Bom, então eu fiz o seguinte, criei uma label abaixo dessa GridView e setei esse código para efetuar a soma desses valores no banco.

       string SQL = "SELECT SUM(preco) FROM produtos GROUPY BY preco VALUES (";
        SQL += "@preco)";


E depois passei esse valor de @preco para uma label.

            using (MySqlCommand cmd = new MySqlCommand(SQL, conn))
            {
                conn.Open();
                cmd.Parameters.AddWithValue("@preco", lblTotalCompra.Text);
            }



Porem não está dando certo, e tenho certeza que é no meu SQL que está tendo esse problema, e estou deixando passar alguma coisa mas não consigo identificar o que é, alguém poderia me ajudar?

Fcarvalho

Respostas

19/11/2014

Jothaz

Olha antes de efetuar o bind no gridview basta varrer o DataTable com um "for ou "foreach" e somar os valore em uma variável e atribuir ao seu label.

Se estiver usando um List pode usa o Linq para isto.

Acho que ler o bd duas vezes, um para listar e outra para somar pesa, mas se quiser o sql seria assim:

string SQL = "SELECT SUM(preco) as Valor FROM produtos GROUPY BY preco"


Você pode usar um DataRader e jogar o resultado no label.
Responder Citar

26/11/2014

Fcarvalho

Olha antes de efetuar o bind no gridview basta varrer o DataTable com um "for ou "foreach" e somar os valore em uma variável e atribuir ao seu label. Se estiver usando um List pode usa o Linq para isto. Acho que ler o bd duas vezes, um para listar e outra para somar pesa, mas se quiser o sql seria assim:
string SQL = "SELECT SUM(preco) as Valor FROM produtos GROUPY BY preco"
Você pode usar um DataRader e jogar o resultado no label.


Jothaz, muito obrigado pela dica. Eu consegui resolver aqui usando o ExecuteScalar(); ^^
Responder Citar