[英]Error getting specific item/row from dataset in VB codebehind
我正在嘗試運行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.IndexOutOfRangeException: There is no row at position 0
。
我也嘗試過類似var1.Container.Components.Item("Manufacturer").ToString()
。 結果只是一個不同的錯誤。
我沒有在這里包括sql查詢,因為我知道這是可行的。 我將來自第一個函數的數據綁定到頁面上的數據網格,然后使用DataBinder
將數據從Dataset1獲取到頁面上,並且工作正常(而且我可以使用Databinder來獲得Manufacturer值,所以我知道列/單元格/值都存在於數據集中)。 我現在不確定自己在做什么錯。
There is no row at position 0
意味着var1.tables(0)
沒有任何行。 您的數據集中是否包含一個以上的表? 如果是這樣,也許是像var1.tables(1).rows(0).Item("Manufacturer")
? 如果不是,則表示您的function1(value)
返回帶有空表的數據集。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.