2011-02-27 73 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() 
相關問題