使用ExecuteScalar方法进行求和

时间:2014-04-11 14:54:06

标签: c# winforms

我正在使用C#winforms,尝试进行求和查询,并使用ExecuteScalar方法检查是否有效。我正在显示"总和"在MessageBox

我的问题:查询无效,因为消息框中的总和仍为0。

我的方法:

string Name = salesdetails.CmbEmployeeName.Text;
        int sum = 0;
        string connStr = @"Data Source=............................";
        string Query = ("SELECT SUM(PriceOrder) FROM tblOrdersFromCustomers WHERE CustomerID=N'" + Name + "'");

        using (SqlConnection conDataBase = new SqlConnection(connStr))
        {
            SqlCommand cmdDataBase = new SqlCommand(Query, conDataBase);

            try
            {
                conDataBase.Open();

                sum = (int)cmdDataBase.ExecuteScalar();
            }

            catch
            {
            }

        }
        MessageBox.Show(string.Format("Sum: {0}", sum));

2 个答案:

答案 0 :(得分:0)

首先,我认为您的查询存在问题

即。似乎你的表名不正确。

不应该是tblOrders而不是tblOrdersFromCustomers

使用SqlCommand.ExecuteReader

using(reader = cmdDataBase.ExecuteReader())
{
    while (reader.Read())
    {
        sum  = reader[0]!=DBNull.Value?Convert.ToInt32(reader[0]):0; 
    }   
}

答案 1 :(得分:0)

sum = Convert.ToInt32(cmdDataBase.ExecuteScalar());