web-dev-qa-db-ja.com

where条件を使用したDatatableのクエリ

2列のデータテーブルがありますが、

Column 1 = "EmpID"
Column 2 = "EmpName"

EmpIDおよびEmpnameに対してデータテーブルを照会したい。

たとえば、値を取得したい

(EmpName != 'abc' or EmpName != 'xyz') and (EmpID = 5)
29
Anuya

このようなもの...

var res = from row in myDTable.AsEnumerable()
where row.Field<int>("EmpID") == 5 &&
(row.Field<string>("EmpName") != "abc" ||
row.Field<string>("EmpName") != "xyz")
select row;

DataTableのLINQクエリ も参照してください。

37
mamoo

Mamooが示したように、Linqでそれを行うことができますが、 oldies も良いです:

var filteredDataTable = dt.Select(@"EmpId > 2
    AND (EmpName <> 'abc' OR EmpName <> 'xyz')
    AND EmpName like '%il%'" );
18
Gert Arnold

このようなもの ? :

DataTable dt = ...
DataView dv = new DataView(dt);
dv.RowFilter = "(EmpName != 'abc' or EmpName != 'xyz') and (EmpID = 5)"

あなたが探しているものですか?

14
Tigran