DataTable 的筛选问题

lsfyfan 2002-12-25 03:24:43
各位高手:
如何在DataTable中根据时间来筛选, 例子如下:
String filter = "DeliveryDate = '2002/12/25'";
dataTable.Select( filter );
dataset中明明有这样的记录, 为什么就是找不到呢? 是不是需要DateDiff之类的东西(sql server中可以用)?
...全文
207 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsfyfan 2002-12-28
  • 打赏
  • 举报
回复
只能用笨方法了.
foreach(DataRow row in dataSet.Tables[0].Rows)
{
if( Convert.ToDateTime(row["DeliveryDate"]) == date )
{
// 可以找到.
}
}
lsfyfan 2002-12-28
  • 打赏
  • 举报
回复
好像只有sky2000老兄说的对.
hbtu2000 2002-12-27
  • 打赏
  • 举报
回复
C#中的日期是带有时间的,所以日期不能直接用“=”的
dy630 2002-12-26
  • 打赏
  • 举报
回复
dataTable.Select( filter ,"");
lsfyfan 2002-12-26
  • 打赏
  • 举报
回复
还是不行.
csdnshao 2002-12-26
  • 打赏
  • 举报
回复
或者:
dv.rowfilter= "DeliveryDate='2002-12-26'";中的日期还可以写成这样:
#2002-12-26#
#12/26/2002# '12/26/2002'
#2002/12/26# '2002/12/26'
csdnshao 2002-12-26
  • 打赏
  • 举报
回复
同意 huan_jinwu 的解决办法
也可以这样做:
dataview dv= new dataview();
dv= yourtable.DefaultView;
dv.rowfilter= "DeliveryDate='2002-12-26'";

GiantHard 2002-12-26
  • 打赏
  • 举报
回复
要根据本机的日期格式定义Filter字串
hfayga 2002-12-26
  • 打赏
  • 举报
回复
好像要设DefaultView样
huan_jinwu 2002-12-26
  • 打赏
  • 举报
回复
错了。
dv.rowfilter= "DeliveryDate='2002-12-26'";
huan_jinwu 2002-12-26
  • 打赏
  • 举报
回复
办法一:
dataview dv= new dataview;
dv.table = ds.tables[0];
dv.filter= "DeliveryDate='2002-12-26'";
foreach(datarow dr in dv.table)
{输出}
二:
datarow[] drs;
drs= yourtable.Select("DeliveryDate='2002-12-26'");
for(int i=0;i<drs.length;i++)
{
输出;
}
nonepassby 2002-12-25
  • 打赏
  • 举报
回复
String filter = "DeliveryDate = #12/25/2002#";
dataTable.Select( filter );
nonepassby 2002-12-25
  • 打赏
  • 举报
回复
String filter = "DeliveryDate = #2002/12/25#";
dataTable.Select( filter );
chenbinghui 2002-12-25
  • 打赏
  • 举报
回复
是不是c#不能把'2002/12/25'转换成正确的时间?
不是很清楚!
学习

110,536

社区成员

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

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

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