Click here to Skip to main content
15,884,993 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi all

I wanna Sum field in table as bellow :

C#
DataTable dt = new DataTable();
string query_arr = "SELECT Item_factor, SUM(number_item_factor) AS EX1 FROM Detail_factor_sell GROUP BY Item_factor"; 
db.Query_Select_ExecuteScaler(query_arr);   


the query is correct when test in query designer but I want to return two field ( Item_factor , SUM(number_item_factor) ). how do i it??

thanks a lot.
Posted
Comments
PIEBALDconsult 25-Aug-15 12:32pm    
"Executes the query, and returns the first column of the first row in the resultset returned by the query. " -- https://msdn.microsoft.com/en-us/library/system.data.idbcommand.executescalar(v=vs.110).aspx

I recommend you use a DataReader instead. Others may recommend a DataAdapter, but I don't.

1 solution

you can use SqlDataReader, sample code
C#
using (SqlConnection connection = new SqlConnection(connectionString))
{
    connection.Open();
    using (SqlCommand command = new SqlCommand("SELECT top 1 Item_factor, SUM(number_item_factor) AS EX1 FROM Detail_factor_sell GROUP BY Item_factor", connection))
    {
    SqlDataReader reader = command.ExecuteReader();
    if (reader.Read())
    {
        string Item_factor= reader.GetString(0);
        int sumNumber_item_factor= reader.GetInt32(1);
    }
    }
}
 
Share this answer
 
Comments
Maciej Los 25-Aug-15 13:21pm    
+5
DamithSL 25-Aug-15 13:29pm    
Thanks, Maciej
bernova 25-Aug-15 16:52pm    
Thanks a lot

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900