shailesh uke Ответов: 1

Преобразование sqlquery в набор данных rowfilter


я хочу, чтобы преобразовать SQL-запрос для фильтра строк объекта DataTable с#

strSql = "SELECT TOP " + this.mintPageSize +
      " * FROM tblEmp WHERE E_Id NOT IN " +
      "(SELECT TOP " + intSkip + " E_Id FROM tblEmp)";


Что я уже пробовал:

strSql = "SELECT TOP " + this.mintPageSize +
    " * WHERE # NOT IN " +
    "(SELECT TOP " + intSkip + " #)";

DataView dv = new DataView(documentDataTable);
//creating query
dv.RowFilter = strSql;

1 Ответов

Рейтинг:
0

Maciej Los

Как Документация MSDN[^] скажет:

MSDN писал:
Чтобы сформировать значение RowFilter, Укажите имя столбца, за которым следует оператор и значение для фильтрации. Значение должно быть заключено в кавычки. Например:
"LastName = 'Smith'"

Так, RowFilter невозможно отфильтровать данные так, как вы ожидаете. Подробнее о доступных для использования выражениях вы можете узнать здесь: объект DataColumn.Свойство Выражения (System. Data)[^]

Чтобы достичь этого, вы можете использовать Linq To DataSet[^].
Для получения более подробной информации, пожалуйста, смотрите:
Примеры LINQ to DataSet[^]
101 образцы LINQ в C#[^]
Запросы в LINQ to DataSet[^]
Запрос наборов данных (LINQ to DataSet)[^]