在数据表行中查找特定值

时间:2014-11-14 12:52:51

标签: vb.net datatable

我正在尝试在数据表中搜索特定值,该值基于ID。在sql中它将是:

Select FIlepath Where ID = 'x'

但到目前为止我没有运气,我尝试了一些方法,包括将整行传递到数组中并从数组中选择值但到目前为止没有任何工作。

但是我刚刚找到了.Where函数来搜索数据表,并认为这可能是最快捷,最干净的方法。但它需要一个谓词。

以下代码就是我目前所拥有的代码,但我认为问题在于代码的“ofString”部分。

objDataTable_FailCodeDetails.Select(("FilePath")).Where(Of String("ID ='" & i - 1 & "'"))

非常感谢任何帮助。

欢呼声。

1 个答案:

答案 0 :(得分:0)

DataTable对象有一个简单直接的方法来提取满足WHERE条件的DataRows

 DataRows[] rows = objDataTable_FailCodeDetails.Select("ID ='" & i - 1 & "'")

这假设ID字段是文本字段,因此您需要围绕i值的单引号,但如果它是一个简单的整数,则写入

 DataRows[] rows = objDataTable_FailCodeDetails.Select("ID =" & i - 1)

相反,如果你想使用Linq表达式,它将是

 Dim result = objDataTable_FailCodeDetails.AsEnumerable() _ 
                          .Where(Function(x) _
                             x.Field(Of String)("ID")  =  (i - 1).ToString())