【问题标题】:Sum of the rows of a particular column of a table using C# sql使用 C# sql 对表的特定列的行求和
【发布时间】:2014-10-22 19:25:25
【问题描述】:

“转帐”表中有一个“价格”字段。我需要价格列的总和并使用 Asp.Net C# 将其显示到标签上。我尝试了几种编码,但都失败了。这是代码,它在第 4 行显示错误

SQLConnection dbConn = new SQLConnection("server=serverName,database=laptop");
dbConn.Open();
SqlCommand query = new SqlCommand("Select Sum(price) FROM transfer");
query.Connection = dbConn;
int sum = (Int32)query.ExecuteScalar();
lbl2.Text = sum.ToString();

请任何人建议我一个替代代码,或者在当前代码中进行哪些更改以使其运行。 谢谢。

【问题讨论】:

  • 你得到什么错误?
  • 将所有代码括在try -- catch中,将异常保存在变量中,并在此处粘贴exception消息。
  • 要回复的元素很少。想一想,SQLConnection 和 SqlCommand 都是 IDisposable,因此您应该在“使用”块中声明它们或在使用后将它们丢弃。

标签: c# mysql sql asp.net sum


【解决方案1】:

如果连接字符串正常(这可能是一个问题)并且查询正确(现有表和列),那么我怀疑(因为列的名称是价格)您应该转换为十进制:

Decimal sum = (Decimal)query.ExecuteScalar();

从这里开始工作。

【讨论】:

    【解决方案2】:
     con.Open();
     string syntax = "SELECT Sum(price) FROM transfer";
     cmd = new SqlCommand(syntax, con);
     dr = cmd.ExecuteReader();
     dr.Read();
     lbl2.Text = dr[0].ToString();
     con.Close(); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多