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

一个表用一条sql语句把不同数据置于DataSet中
例如有这样一个表:

我想实现一次查询把全部查出来放到一个临时表集合中,这里将查出分为4个不同表,以classId分为属于1的相当于ds.tables[0],2的为ds.tables[1],以此类推。
请问怎么实现这样的结果!
dataset sql 数据

------解决方案--------------------
使用存储过程,无需用临时表

CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName> 

AS
BEGIN
select * from tb where classID=1

select * from tb where classID=2

select * from tb where classID=3

select * from tb where classID=4
END
GO

然后在你的程序中

DataSet ds=db.ExecuteDataSet("存储过程名");

这样得到的ds就是包含了4个DataTable
------解决方案--------------------
引用:
一定要执行那么多次sql查询吗?
我一个页面有4个repeater,绑定的值相当于这里查出来的1234表,所以想看能不能一次把数据查出来,然后在根据不同的数据进行绑定!

呵呵,只能一次执行多个SELECT语句,来生成4个结果集,放到你的dataset中的4个datatable中。
#1.用#2楼的方法封装个存储过程,直接调用即可。
#2.写成一个批SQL,调用即可(把其中的分号换成空格也是可以的,但建议加上,2005版本及以后):
select * from tb where classID=1; select * from tb where classID=2; select * from tb where classID=3; select * from tb where classID=4;