2014-11-14 7 views
0

Я пытаюсь выполнить поиск данных для определенного значения, которое основано на ID. В SQL Server это будет что-то вроде:Поиск определенного значения в строке данных

Select FIlepath Where ID = 'x' 

, но до сих пор у меня не было никакой удачи, я попробовал несколько методов, в том числе передавая всю строку в массив и выбора значения из массива, но ничего не работает так далеко.

Однако я только что нашел функцию .Where для поиска данных и думал, что это может быть самым быстрым, самым чистым способом сделать что-то. Но для этого требуется предикат.

Ниже приведен код, который у меня есть на данный момент, но я думаю, что проблема связана с частью «ofString».

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

Любая помощь была бы принята с благодарностью.

ура.

+0

Используйте dataview, намного проще и чище. Он также имеет фильтры, которые можно применять. – Codexer

ответ

0

Объект DataTable объект имеет простой и простой метод для извлечения DataRows, которые удовлетворяют WHERE условие

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()) 
Смежные вопросы