如何使用LINQ在数据表中搜索?

时间:2010-11-11 09:51:15

标签: c# linq linq-to-sql

数据表结果为网格:

SerialNumber  PartNumber   
000000001     QWERTY
000000002     QERTY

我需要使用Textbox控件在数据表的结果中搜索特定的SerialNumber。

伪代码示例:

If
    SearctTexbox.Text =000000001 
    Message: This Serial is Ok!

Else
    Message: Not Ok

如何在LINQ或任何其他方法中执行此操作?

4 个答案:

答案 0 :(得分:1)

为什么需要LINQ?您可以尝试使用

dataTable.Select("condition");

答案 1 :(得分:1)

如果SerialNumber列具有唯一值,请尝试尝试:

//dt is DataTable
dt.PrimaryKey = new DataColumn[1] { dt.Columns[0] };  // set your primary key
DataRow dRow = dt.Rows.Find(SearchTextbox.Text);
if (dRow != null){
     // you've found it
}
else{
    //sorry dude
}

答案 2 :(得分:0)

string massage = dc.Parts.Select(
    o => o.SerialNumber == SearctTexbox.Text).Count()>0 ? "Found it"!"No Find";

答案 3 :(得分:0)

试试这个

var item = from r in Datatable.AsEnumerable()
            where r.Field<int>("SerialNumber") == int.Parse(SearchTextbox.Text.ToString())
            select r.Field<int>("SerialNumber");

if (item == null)
{
   // not found
}
else
{
   // you found it. 
}