日期:2014-05-17  浏览次数:20466 次

遍历一遍,如何查询出多个数据集

比如有这样的一个学生表

学生ID 学生所在班级
1 1
2 1
3 1
。。。  
5000 10

我要把每个班的学生显示在GridView里。
那么我得写10个SQL语句。
select * from 学生表 where 班级=1
select * from 学生表 where 班级=2
。。。
select * from 学生表 where 班级=10
GridView1.Datasource = ds.tables[0]
GridView2.Datasource = ds.tables[1]
...
这样查询效率很低,每个查询都要跟5000条记录再逐一对比一次。

我想要这样的
select * from 学生表 order by 班级

但它是一个结果集,无法分开。
可能你们对ds.tables的概念不了解,直观的讲,就是在SQL Server那里查询,出来几个结果窗口,就是几个table
比如
select * from 学生表 where 班级=1
select * from 学生表 where 班级=2
这两句一起查,SQL Server里就出来两个窗口。程序里
ds.tables[0]
ds.tables[1]
这两个是有值的。


参见我这个问题http://topic.csdn.net/u/20110314/15/b0fd282d-f3f9-4885-b132-1ac673c67107.html

------解决方案--------------------
先全扫描出来

再在你程序里分组去