C#怎样在DataTable中使用linq查询

来源:互联网 发布:剑灵最新优化设置 编辑:程序博客网 时间:2024/05/18 01:12

当前有一个任务,需要将datatable中数据筛选后存入新的datatable中,我的mysql数据库中表字段名为ErrorType,程序如下

    SqlDataSource errorHoleInfoSqlDataSource = new SqlDataSource(); //还是使用SQLDataSource数据源,参见我的其他文章            errorHoleInfoSqlDataSource.ConnectionName = "localhost_Connection";            errorHoleInfoSqlDataSource.Name = "errorHoleInfoSqlDataSource";            query.Name = "selectQuery2";            query.Sql = "select * from errorholeinfo where ProjectName = '" + projectName + "'";            errorHoleInfoSqlDataSource.Queries.Add(query);            errorHoleInfoSqlDataSource.Fill();            ITable src = errorHoleInfoSqlDataSource.Result["selectQuery2"];            DataTable table = new DataTable("project");            foreach (IColumn column in src.Columns)                table.Columns.Add(column.Name, column.Type);            foreach (IRow row in src)                table.Rows.Add(row.ToArray());            if (table.Rows.Count == 0)            {                return false;            }            else            {                DataTable newDataTable = new DataTable();                newDataTable.Columns.Add("ErrorType", typeof(string));                 var errorHoleInfoQuery = from r in table.AsEnumerable()                //使用linq进行查询                                          where r.Field<string>("ErrorType") == "漏孔"                                          let objectArray = new object[]                                           {                                                r.Field<string>("ErrorType")                                           }                                          select objectArray;
     foreach (var array in errorHoleInfoQuery)//存入新的DataTable                 {                     newDataTable.Rows.Add(array);                 }        
return true;
    }


原创粉丝点击