在数据表中搜索字符串列

时间:2014-09-19 14:15:48

标签: c#

我从强类型数据集中获取某种类型的数据表对象,现在我想知道其中一列“Title”中是否有某个字符串。

我正在尝试这个,有没有更好的方法?

   FruitDataAccess fda = new FruitDataAccess();
   FruitDataTable fdt = cda.GetFriuts(fruitCrateID);
   DataTable dt = fdt.CopyToDataTable();
   var row = dt.Rows.Cast<DataRow>().Any(r => r.ItemArray.Any(c => c.ToString().Contains("whatever"))); 

1 个答案:

答案 0 :(得分:2)

使用LINQ TO DataSet/DataTable 之类的:

var search = dt.AsEnumerable()
              .FirstOrDefault(r=> r.Field<string>("Title") == "your string");

if(search != null)
{
    //found
}

您还可以找到符合条件的行:

DataRow[] foundRows;
foundRows = dt.Select("Title Like '%your string%'"); //similar to Contains

请参阅:How to: Locate a Specific Row in a DataTable