Vb.net 尝试获取“时获取错误”_罗维德;(拾取前面的行)
我正在使用Vb.net 尝试获取“时获取错误”_罗维德;(拾取前面的行),vb.net,datatable,row,Vb.net,Datatable,Row,我正在使用DataTable.Rows.Find在DataTable中查找特定的行,以便知道前面有多少行(因为我只需要拾取它们): 但是当我试图让RowId知道之前有多少行时 MsgBox(mRow._rowid) 我得到一个错误: 错误4“System.Data.DataRow.\u rowID”在此上下文中不可访问 因为它是“朋友” 我该怎么修理 在找到行之前,是否有其他方法获取行数 编辑: 目前,我正在通过使用以下代码在找到行之前拾取行来解决此问题: Dim NewRows() As D
DataTable.Rows.Find
在DataTable中查找特定的行,以便知道前面有多少行(因为我只需要拾取它们):
但是当我试图让RowId知道之前有多少行时
MsgBox(mRow._rowid)
我得到一个错误:
错误4“System.Data.DataRow.\u rowID”在此上下文中不可访问
因为它是“朋友”
我该怎么修理
在找到行之前,是否有其他方法获取行数
编辑:
目前,我正在通过使用以下代码在找到行之前拾取行来解决此问题:
Dim NewRows() As DataRow
For x As Short = 0 To DT_DBData.Rows.Count - 1
If Not DT_DBData.Rows(x).Equals(mRow) Then
ReDim Preserve NewRows(x)
NewRows(x) = DT_DBData.Rows(x)
Else
Exit For
End If
Next
我非常感谢您提供更好的解决方案我不确定您的rdbms是什么,但如果您想引用
行数
,您必须将其添加到您的选择中
DB_Functions.mQueryDT("SELECT *, Row_Num as row_id FROM UpdTest ORDER BY Row_Num")
你能解释一下为什么你需要知道这些信息吗?也许有更好的办法way@Steve我需要知道在找到一行之前有多少行,以便只从DataTableA DataTable中获取它们think@Steve我不能用select来做这件事。如果你能(并且它能工作),这将是一个公认的答案。关于:
DT_DBData.Rows.Count
我很抱歉造成了混乱。显示的代码只是一个示例。在实际场景中,我从报表(html表)中获取数据,并将它们放入DataTable中,因此我无法控制它们的排序方式。我编辑了显示我如何解决的问题(但我认为有更好的解决方案)
DB_Functions.mQueryDT("SELECT *, Row_Num as row_id FROM UpdTest ORDER BY Row_Num")