首页 > 解决方案 > 使用 SqlCommand 时 SUM(Table) 不起作用

问题描述

当我运行代码时,结果将是“类型”而不是名称的总和。还尝试在 Reader[("Types")] 中执行 SUM,它显示 SUM(Types)。它应该显示该特定名称的数量

c#中的代码:

public void DisplayName()
{
        try
        {
            string Connection = @"Data Source=local;Initial Catalog=Project;Integrated Security=True";
            SqlConnection Connect = new SqlConnection(Connection);

            string Name;

            Console.WriteLine("\nShowing Name\n");

            Console.WriteLine("Enter name type: \n");
            country = Console.ReadLine();

            ConnectingDatabase.Open();

            string Query = "SELECT SUM(Types) FROM PersonName WHERE Name = @Name";

            SqlCommand Commands = new SqlCommand(Query, ConnectingDatabase, ConnectingDatabase.BeginTransaction());

            Commands.Parameters.Add(new SqlParameter("@Name", country));

            SqlDataReader Reader = ParaComm.ExecuteReader();

            if (Reader.Read())
            {
                Console.WriteLine("Your name is " + name + " with sum of {0}\n", Reader[("Types")]);
            }

            Reader.Close();
            ParaComm.Transaction.Commit();
            Connect.Close();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
}

标签: c#sql-server

解决方案


Group By在 sql 中使用聚合函数时应该使用。试试这个 Sql-Command

 string Query = "SELECT SUM(Types) FROM main.Stats Group by column_name WHERE 
 Name = @Name";

推荐阅读