2011-02-27 99 views
2

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

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

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

e.InputParameters [“schoolCode”] = currentSchoolCode;

e.InputParameters [“levelCode”] = currentLayer;

等等但是,我们不知道如何告诉一个参数是“走出去”的方法。当我们用Google搜索了一下,所有我们能找到的是如何辨别真假的方法,如果一个参数是一个输出参数 - 也就是说,传递给SP作为输出参数。但这不是这种情况。

因此,如果您帮助我们找到以下解决方案,我们将非常感谢:
“告诉”某个参数“out”的方法,以便获取该值。

谢谢。

回答

0

嗯......不太明白你的关心,但是,这个怎么样?通过您的数据集的表示层,然后:

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

DataReader.NextResult() 
相关问题