【问题标题】:saving second result set from a SelectMethod从 SelectMethod 保存第二个结果集
【发布时间】:2011-02-27 11:22:31
【问题描述】:

我们有一个 Gridview,它通过 DataSource 填充。数据源的 SelectMethod 是 BL 类中的一个函数,它调用一个返回 2 个结果集的存储过程。第一个结果集应该填充网格视图,因此它通过“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”,以便将值放入其中。

谢谢。

【问题讨论】:

    标签: c# .net gridview


    【解决方案1】:

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

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

    DataReader.NextResult()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-16
      • 2018-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多