Array
(
)

Somar valores de uma GridView asp.net

Fcarvalho
   - 19 nov 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.
#Código

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

E depois passei esse valor de @preco para uma label.
#Código
            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?

Jothaz
   - 19 nov 2014

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:

#Código

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


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

Fcarvalho
   - 26 nov 2014


Citação:
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:

#Código

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(); ^^