Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在VB codebehind中从数据集中获取特定项/行时出错_Asp.net_Vb.net - Fatal编程技术网

Asp.net 在VB codebehind中从数据集中获取特定项/行时出错

Asp.net 在VB codebehind中从数据集中获取特定项/行时出错,asp.net,vb.net,Asp.net,Vb.net,我正在尝试运行SQL查询以从表中提取行。然后我需要从该表中的列中获取单元格的值,并将其传递给另一个SQL查询。第二部分是失败的地方,我不知道为什么 我的代码: Dim var1 As Dataset1 = function1(value) Me.DataGrid1.DataSource = var1 Me.DataGrid1.DataBind() Dim var2 As Dataset2 = function2(var1.tables(0).rows(0).Item("Manufacturer"

我正在尝试运行SQL查询以从表中提取行。然后我需要从该表中的列中获取单元格的值,并将其传递给另一个SQL查询。第二部分是失败的地方,我不知道为什么

我的代码:

Dim var1 As Dataset1 = function1(value)
Me.DataGrid1.DataSource = var1
Me.DataGrid1.DataBind()
Dim var2 As Dataset2 = function2(var1.tables(0).rows(0).Item("Manufacturer").ToString())
function1
基本上只执行一些操作,包括sql查询,以填充
Dataset1
function2
运行不同的sql查询,但需要使用
Dataset1
中的值才能在WHERE子句中使用

我得到的错误是针对第二行的,它说的是
System.indexootfrangeException:位置0处没有行

我还尝试了
var1.Container.Components.Item(“Manufacturer”).ToString()之类的方法。结果只是一个不同的错误


我没有在这里包含sql查询,因为我知道它正在工作。我将第一个函数中的数据绑定到页面上的datagrid,然后使用
DataBinder
将数据从Dataset1获取到页面上,这很好(我可以使用DataBinder很好地获取制造商值,这样我就知道该列/单元格/值都存在于数据集中)。我不确定我现在做错了什么。

位置0没有行
表示
var1。表(0)
没有任何行。数据集是否包含多个表?如果是这样的话,它可能类似于
var1.tables(1).rows(0).Item(“制造商”)
?如果不是-这意味着您的
function1(value)
返回一个空表的数据集。

否,数据集将只包含一个表,WHERE子句将把它缩小到该表中的一行。我不明白当我将var1绑定到页面上的DataGrid时,
function1(value)
如何返回一个空表(这样可以很好地显示数据)。如果
function1(value)
返回的是一个空表,那么DataGrid也应该是空的,否?True,但以防万一,在第二行前面放一个断点,看看
var1.tables(0).rows.count是否等于o,因为某种原因,数据集有两个表。不知道为什么。表(1)显然是我想要使用的,并且
行。count
是该表中的1。但我不认为它仍然在拉动
值。调试时查看
行(0)
“Item”值时,我看到一个
Item=参数没有为“Public ReadOnly Default Property Item(index As Integer)”的参数“index”指定为System.Data.DataRow。
请尝试
var1.tables(1).行(0)(“制造商”)
而不使用
.Item
谢谢。结果表明,无论是否使用
.Item
,它都获得了正确的数据。它只是没有正确绑定到ASP超链接控件。我创建了一个单独的ASP标签控件进行检查,文本是它应该是什么。所以我将这个标记为答案,因为这个问题与这个主题不同。谢谢