访问数据视图中的第二个表
Posted
技术标签:
【中文标题】访问数据视图中的第二个表【英文标题】:Accessing 2nd table in dataview 【发布时间】:2011-04-19 13:34:25 【问题描述】:我有一个运行存储过程的 sqlDataSource,该存储过程返回作为参数传入的月份中的天数表,其排列方式与日历中的排列方式相同。它还返回第二个表,其中包含与该月的某些日期相关的事件详细信息。
基本上,我将如何访问查询返回的第二个表中包含的值?
我尝试将 .select 的结果放入数据集中,但不幸的是我收到了转换错误。如果我尝试将它放在数据视图中,我只会得到第一个表。
任何帮助将不胜感激!
这就是我现在拥有的:
Dim ds As New Data.DataSet
Dim eventTable As New Data.DataTable
ds = sqlCalendrier.Select(DataSourceSelectArguments.Empty)
eventTable = ds.Tables(1)
【问题讨论】:
我不相信你能做你想做的事。将其拆分为两个单独的存储过程:***.com/questions/58940/… 这也是我的感受。我会寄希望于有人对此有解决方案/想法,但我将开始与管理数据库/程序的人一起计划第二个选项。感谢您的评论! 【参考方案1】:通过后门进入:
-
获取返回的数据视图
选择语句
获取与此关联的表
数据视图
获取与
表
代码示例:
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)
我希望它对你有用。
【讨论】:
【参考方案2】:通过使用数据集实例的表格集合
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)
【讨论】:
这就是我所拥有的,它在 ds =取自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
【讨论】:
以上是关于访问数据视图中的第二个表的主要内容,如果未能解决你的问题,请参考以下文章
iOS 8 导航栏在 Storyboard 上的第二个 ViewController 中无法访问