private DataTable GetData()
{
SqlDataAdapter da = new SqlDataAdapter("select count(paper_deptid),paper_deptid from papers group by paper_deptid", con);
DataSet ds = new DataSet();
da.Fill(ds, "kw");
DataTable tableInfo = new DataTable(); DataColumn dcCity = new DataColumn("City", Type.GetType("System.String"));
DataColumn dcCount = new DataColumn("Count", Type.GetType("System.String")); tableInfo.Columns.Add(dcCity);
tableInfo.Columns.Add(dcCount);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DataRow dr = tableInfo.NewRow();
dr["City"] = ds.Tables[0].Rows[i]["paper_deptid"].ToString();
//dr["Count"]=ds.Tables["paper_deptid"].Rows.Count;
dr["Count"] = ds.Tables[0].Rows[i]["count(paper_deptid)"].ToString();
tableInfo.Rows.Add(dr);
}
return tableInfo;
} 哪里错了呀,原本想用这个来求重复次数:ds.Tables["paper_deptid"].Rows.Count 发现不行,然后就用了group by 来求重复次数, 但是下面就不会引用这个结果了
可以用ds.Tables["papers"].Rows.Count 或者ds.Tables[0].Rows.Count
dr["Count"] = ds.Tables[0].Rows[i][0].ToString();
这个方法可以了,我把查询语句改成
select count(paper_deptid) as papercount,paper_deptid,dept_name
from papers,dept
where papers.paper_deptid=dept.dept_id
group by papers.paper_deptid 提示错误:列 'dept.dept_name' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
=〉
min(dept.dept_name)
select count(paper_deptid) as papercount,paper_deptid,dept_name
from papers,dept
where papers.paper_deptid=dept.dept_id
group by papers.paper_deptid,dept_name