0

早上好,

我一直在努力让我的注意力集中在我在 Visual Studio 中制作的应用程序中做一个简单的记录计数。

与应用程序关联的数据库保存每个人属于某个部门的记录。在应用程序中,我想创建一个统计窗口,用于计算每个部门当前保存在数据库中的人数。

在我看来,这样做的方法是从部门列中选择不同的值,然后使用 count 方法再次查询每个结果,以便为每个结果获取一个值,但是我觉得这不是完全正确的方法这样做。

我非常想要的是有一个带有网格视图的窗口,其中第一列包含部门的名称,第二列包含同一部门的人数,但由于实际上是 Visual Studio 和编程的新手一般来说,我无法弄清楚如何做到这一点。

任何帮助,将不胜感激。

4

2 回答 2

0

创建表 [dbo].[Dept]([DeptName] varchar NULL,[StudName] varchar NULL)

从 [sample].[dbo].[Dept] group by [DeptName] 中选择 DeptName,count(*) 作为 NoOfPeople

在窗口形式

SqlDataAdapter sda=new SqlDataAdapter ('select DeptName,count(*) as NoOfPeople from [sample].[dbo].[Dept] group by [DeptName]',con)

数据表 dt=新数据表();

sda.fill(dt);

dataGridView1.DataSourc=dt;

dataGridView1.DataBind();

于 2013-07-06T14:00:58.743 回答
0

您可以通过数据库中的简单连接查询来完成。尝试以下查询:

SELECT A.ID , SUM(CASE WHEN B.ID IS NOT NULL THEN 1 ELSE 0 END) AS TOTALNOOFPEOPLE
FROM DEPARTMENT AS A LEFT OUTER JOIN PEOPLE AS B ON A.ID = B.DEPARTMENTID
GROUP BY A.ID
于 2013-07-06T09:11:39.350 回答