在dataview中访问第二个表

时间:2011-04-19 13:34:26

标签: asp.net sql vb.net

我有一个运行存储过程的sqlDataSource,该存储过程返回作为参数传递的月份的日期表,按日历排列。它还返回第二个表,其中包含与该月某些日期相关的事件详细信息。

基本上,我如何访问查询返回的第二个表中包含的值?

我已经尝试将.select的结果放在数据集中,遗憾的是我收到了强制转换错误。如果我尝试将它放在数据视图中,我只会得到第一个表。

任何帮助将不胜感激!

这就是我现在所拥有的:

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

3 个答案:

答案 0 :(得分:1)

通过后门进入:

  1. 获取由...返回的数据视图 选择声明
  2. 获取与此相关的表格 数据视图
  3. 获取与之关联的数据集 表
  4. 代码示例:

    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)
    

    我希望它适合你。

答案 1 :(得分: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)

答案 2 :(得分: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