从SelectMethod保存第二个结果集

时间:2011-02-27 11:22:31

标签: c# .net gridview

我们有一个Gridview,它通过DataSource填充。数据源的SelectMethod是BL类中的一个函数,它调用一个返回2个结果集的存储过程。第一个结果集应该填充gridview,因此它通过“return”关键字返回,并且工作正常。第二个结果集供以后使用(我们不将它们分成2个SP,因为查询应用相同的逻辑来获取两个结果集,并且它是一个很长的逻辑,所以我们不想运行它两次)。我们的问题是如何保存第二个结果集供以后使用。

我们最初想到在BL类中创建一个全局成员,并将结果集保存到它。但问题是,当我们需要使用第二个结果集时,我们不在gridview所在的同一个类中,而另一个类创建了自己的BL类的实例,当然那个对象也没有没有数据(数据在gridview所在的aspx页面创建的对象中)。

然后我们考虑将数据源的SelectMethod传递给“out”参数,该方法会将第二个结果集保存到该out参数。但那不起作用。我想我们不知道如何告诉方法参数是“out”。我们传递其他参数的方法是定义一个附加到OnSelecting事件的方法,然后我们传递它们:

e.InputParameters [“schoolCode”] = currentSchoolCode;

e.InputParameters [“levelCode”] = currentLayer;

等。但是,我们不知道如何告诉方法参数是“out”。当我们google了一点时,我们所能找到的是如何告诉方法参数是否是输出参数 - 即作为输出参数传递给SP。但这不是这种情况。

如果您帮助我们找到解决方案,我们将非常感激:
“告诉”某个参数“out”的方法,以便将值输入其中。

感谢。

1 个答案:

答案 0 :(得分:0)

嗯......不太明白你的顾虑,但是,这个怎么样?将数据集传递给表示层,然后:

dataset.Tables(0)
dataset.Tables(1)

DataReader.NextResult()