dataTable筛选数据问题

simen_frankly 2008-12-10 10:38:12
现有一个dataTable1,筛选时间不在date1和date2之间的数据,然后再从结果中进一步筛选customer字段不在dataTable2中的数据,该如何进行?
...全文
145 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
GTX280 2008-12-10
  • 打赏
  • 举报
回复

//LINQ to DataSet,不知道楼主的环境能不能支持
//取出dataTable1中不在date1和date2之间的数据
var query1 = from oneItem in dataTable1.AsEnumerable()
where oneItem.Field<DateTime>("Time") < date1 && oneItem.Field<DateTime>("Time") > date2//假设date1<date2
select oneItem;
//取出dataTable2中的customer字段数据
var query2 = from oneItem in dataTable2.AsEnumerable()
select oneItem.Field<string>("customer");//需要将string类型换成customer字段实际的类型
//最终结果
var result = from oneItem in query1
where !query2.Contains<string>(oneItem.oneItem.Field<string>("customer"))
select oneItem;
lovefootball 2008-12-10
  • 打赏
  • 举报
回复
你的支持LINQ么?
先去学习下LINQ的语法吧~~~~
jummy_lin 2008-12-10
  • 打赏
  • 举报
回复
关注LINQ
simen_frankly 2008-12-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ustbwuyi 的回复:]
LINQ多好啊,一行代码
[/Quote]

如何做呢?感谢了~
flyjimi 2008-12-10
  • 打赏
  • 举报
回复

DataView view = new DataView();

view.Table = DataSet1.Tables["dataTable1"];
view.RowFilter = "dt not between date1 and date2";


第一步可以用DataView.RowFilter,第二步程序循环吧,要不就在数据库做视图更好点。
lovefootball 2008-12-10
  • 打赏
  • 举报
回复
DataTable result = dataTable1.Clone();
List<string> customers = new List<string>();
foreach(DataRow row in dataTable2.Rows)
{
if (!list.Contains(row["customer"].ToString())) list.Add(row["customer"].ToString());
}
foreach(DataRow row in dataTable1.Rows)
{
if (时间不在date1和date2之间)
{
if (!list.Contains(row["customer"].ToString())) result.ImportRow(row);
}
}
ljhcy99 2008-12-10
  • 打赏
  • 举报
回复
.net 里面 Datatable的select 方法 能写的过滤表达式 很有限。
可以 另做一个满足条件的数据集DataTable,从它里面去数据

就是说作3 个DataTable
zoOoz 2008-12-10
  • 打赏
  • 举报
回复
不好操作,先在数据库建立个满足条件的视图,然后从视图中筛选比较方便.
ustbwuyi 2008-12-10
  • 打赏
  • 举报
回复
LINQ多好啊,一行代码
长沙三毛 2008-12-10
  • 打赏
  • 举报
回复
DataRow[] rows = dataTable1.Select()
周公 2008-12-10
  • 打赏
  • 举报
回复
在数据库建立个视图 一个sql语句就搞定了 个人认为

我非常同意这种做法,把不符合条件的数据首先在数据库过滤掉了。
fuyuxin19801120 2008-12-10
  • 打赏
  • 举报
回复
在数据库建立个视图 一个sql语句就搞定了 个人认为

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧