2011-04-19 75 views
0

我有一個sqlDataSource運行一個存儲過程,該存儲過程返回一個作爲參數傳入的月份日期的表格,這些日期的排列方式與它們在日曆中的排列方式相同。它還返回第二個表格,其中包含與該月的某幾天相關的事件詳細信息。在數據視圖中訪問第二個表

基本上,我將如何去訪問我的查詢返回的第二個表中包含的值?

我已經嘗試把.select的結果放在數據集中,不幸的是我得到了一個轉換錯誤。如果我試圖把它放在一個數據視圖中,我只會得到第一個表。

任何幫助,將不勝感激!

這就是我現在所擁有的:

Dim ds As New Data.DataSet 
    Dim eventTable As New Data.DataTable 
    ds = sqlCalendrier.Select(DataSourceSelectArguments.Empty) 
    eventTable = ds.Tables(1) 
+0

我不相信你可以做你想做的事。將其拆分爲兩個單獨的存儲過程:http://stackoverflow.com/questions/58940/access-to-result-sets-from-within-stored-procedures-transact-sql-sql-server – Smudge202 2011-04-19 14:02:13

+0

這就是我的感受。我會保持我的希望,即有人對此有一個解決方案/想法,但我將開始計劃與管理數據庫/程序的人員一起進行第二種選擇。謝謝你的評論! – Vincent 2011-04-19 14:29:49

回答

0

通過使用數據的表格收集組實例

Dim ds As New DataSet() 
    ds = <your data source> 
    Dim dtDates As New DataTable() 
    Dim dtEvents As New DataTable() 

    dtDates = ds.Tables(0) 
    dtEvents = ds.Tables(1) 
+0

這就是我所擁有的,它在ds = <你的數據源>行上給了我一個轉換錯誤。我將添加我的問題中的代碼 – Vincent 2011-04-19 13:50:56

0

this post摘自:

With cmd 
    .CommandText = "ProdsAndCusts" 
    .CommandType = CommandType.StoredProcedure 

End With 


cn.Open() 

myReader = cmd.ExecuteReader() 

While myReader.Read() 
    ... 

End While 


myReader.NextResult() 

While myReader.Read() 
    ... 

End While 
1

獲得通過後門:

  1. 獲取由 Select語句
  2. 返回的數據視圖獲取與此 數據視圖
  3. 相關聯的表獲取與 表

代碼示例相關的數據集:

Dim dv As DataView = CType(sqlCalendrier.Select(DataSourceSelectArguments.Empty), DataView) 
Dim ds As New DataSet() = dv.Table.DataSet 
Dim dtDates As DataTable = ds.Tables(0) 
Dim dtEvents As DataTable = ds.Tables(1) 

我希望它適合你。

相關問題