从数据库计数记录并将数据插入GridView

时间:2013-07-06 09:04:26

标签: c# sql visual-studio

早上好,

我一直试图让我的思绪在我在visual studio中制作的应用程序中进行简单的记录计数。

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

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

我真正想要的是拥有一个带有网格视图的窗口,其中第一列包含部门的名称,第二列包含同一部门中的人数,但由于实际上是新的视觉工作室和编程一般我无法弄清楚如何做到这一点。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

CREATE TABLE [dbo]。[Dept]([DeptName] varchar NULL,     [StudName] varchar NULL)

从[样本]中选择DeptName,count(*)为NoOfPeople。[dbo]。[Dept]分组[deptName]

在Windows窗体中

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

DataTable dt = new DataTable();

sda.fill(DT);

dataGridView1.DataSourc = DT;

dataGridView1.DataBind();