簡體   English   中英

從VB代碼背后的數據集中獲取特定項目/行時出錯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM