C# 如何在同一查询中使用where条件时统计表中的行数

C# 如何在同一查询中使用where条件时统计表中的行数,c#,sql-server-2008,C#,Sql Server 2008,如何在同一查询中使用where条件时统计表中的行数。 我使用下面的查询来获取departmentname等于electronic engineering的行数。但是现在可以使用正确的查询了 SqlCommand cmd1 = new SqlCommand("Select count(*) from Student where DepartmentName = 'DepartmentOfElectricalEngineering' "); cmd1.Connection = conn; stude

如何在同一查询中使用where条件时统计表中的行数。 我使用下面的查询来获取departmentname等于electronic engineering的行数。但是现在可以使用正确的查询了

SqlCommand cmd1 = new SqlCommand("Select count(*) from Student
where DepartmentName = 'DepartmentOfElectricalEngineering' ");
cmd1.Connection = conn;
studentdata[4] = cmd1.ExecuteScalar().ToString();

信息不多。
ExecuteScalar
函数返回什么?没有什么有例外吗?什么是
学生数据[4]
?ExecuteScalar返回一个对象,您需要根据字段(
int
在本例中)和存储该对象的变量强制转换该对象。您是否尝试直接对SQL Server运行此查询?您是否尝试过指定显式字段名,如下所示:

Select count(*) as C from Student
where DepartmentName = 'DepartmentOfElectricalEngineering'

execute scalar返回1。studentdata[4]是一个存储execute scalar值的数组。我想知道在您的查询中什么是C,以及如何获取返回的值。“C”只是一个名称,您给的字段将包含
count
操作的结果,尽管我很确定它不是必需的。我会尝试在ManagementStudio中运行这个精确的查询,看看它会返回什么;对我来说这似乎是正确的,所以问题可能是你的数据。有一个演示该技术的示例。