DateTable.Select(sql)sql条件中有日期字段的条件怎么写?

东云180 2011-02-27 10:12:04
DateTable.Select(sql)sql条件中有日期字段的条件怎么写?
DataRow [] drs = dt.Select("Date between " + startDate + " and " + endDate);
报:语法错误:“00”运算符后缺少操作数。
...全文
360 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
子夜__ 2011-02-27
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 qingyunluck 的回复:]

drs = dt.Select("Date >= '" + startDate.ToShortDateString() + "' and Date <= '" + endDate.ToShortDateString() + "'");用这个方法解决了。
wxr0323

谢谢大家!
[/Quote]
要保持数据格式统一!
东云180 2011-02-27
  • 打赏
  • 举报
回复
drs = dt.Select("Date >= '" + startDate.ToShortDateString() + "' and Date <= '" + endDate.ToShortDateString() + "'");用这个方法解决了。
wxr0323

谢谢大家!
东云180 2011-02-27
  • 打赏
  • 举报
回复
是这样的,这些数据是日志文本文件,解析出来的数据填充在DataTable中,之后要根据日期条件来查询。
刚试了wuyq11给的方法调试了哈,DateView dv=ds.Tables[0].DefaultView;
dv.Filter="Date >'" + startDate + "' and Date <'" + endDate+"'"
在调试器中也没有查到数据
wuyq11 2011-02-27
  • 打赏
  • 举报
回复
DateView dv=ds.Tables[0].DefaultView;
dv.Filter="Date >'" + startDate + "' and Date <'" + endDate+"'"

在查询分析中根据日期查询是否有数据
子夜__ 2011-02-27
  • 打赏
  • 举报
回复
可能会有小的语法错误。没有环境 自己在调调。

就是把时间格式转换相同的。 另外还要看你满足条件的数据在数据库里存在不。

先把生成SQL放查询分析器里跑一遍
子夜__ 2011-02-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 qingyunluck 的回复:]

drs = dt.Select("Date >= '" + startDate + "' and Date <= '" + endDate + "'");
Date字段中有2011-02-26 15:28:35
startDate的值2011-01-01 00:00:00,endDate的值2011-02-27 00:00:00
虽然不报错,可是也查不到数据了
[/Quote]
呵呵 应该是时间转换的问题

你看看你的Date 是什么格式的 换成统一的比较看看
dt.Select("Date.ToShortDateString()>='" + startDate.ToShortDateString() + "' and Date.ToShortDateString() <= '" + endDate.ToShortDateString() + "'");
东云180 2011-02-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wuyq11 的回复:]

RowFilter="Date >'" + startDate + "' and Date <'" + endDate+"'"
[/Quote]
wuyq11这个RowFilter怎么用的呀?dt找不到这个属性或方法呀 。我想就是dt.Select()方法就是可以按条件过滤的呀!
东云180 2011-02-27
  • 打赏
  • 举报
回复
rs = dt.Select( "Date >= '" + startDate + "' and Date <= '" + endDate + "'");
drs = {System.Data.DataRow[0]}
sen_ice 2011-02-27
  • 打赏
  • 举报
回复
你设置个断点看看!!
东云180 2011-02-27
  • 打赏
  • 举报
回复
drs = dt.Select("Date >= '" + startDate + "' and Date <= '" + endDate + "'");
Date字段中有2011-02-26 15:28:35
startDate的值2011-01-01 00:00:00,endDate的值2011-02-27 00:00:00
虽然不报错,可是也查不到数据了
wuyq11 2011-02-27
  • 打赏
  • 举报
回复
RowFilter="Date >'" + startDate + "' and Date <'" + endDate+"'"
东云180 2011-02-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wxr0323 的回复:]

引用 3 楼 qingyunluck 的回复:

引用 1 楼 winner2050 的回复:

DataRow [] drs = dt.Select("Date between '" + startDate + "' and '" + endDate+"'");

表达式包含不支持的运算符“Between”。

C# code
DataRow [] drs = dt.Sele……
[/Quote]
这样虽然不报错,可是查不到数据了。
wuyq11 2011-02-27
  • 打赏
  • 举报
回复
RowFilter
dt.Select("Date >'" + startDate + "' and Date <'" + endDate+"'");
子夜__ 2011-02-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qingyunluck 的回复:]

引用 1 楼 winner2050 的回复:

DataRow [] drs = dt.Select("Date between '" + startDate + "' and '" + endDate+"'");

表达式包含不支持的运算符“Between”。
[/Quote]
DataRow [] drs = dt.Select("Date >'" + startDate + "' and Date <'" + endDate+"'");
东云180 2011-02-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 winner2050 的回复:]

DataRow [] drs = dt.Select("Date between '" + startDate + "' and '" + endDate+"'");
[/Quote]
表达式包含不支持的运算符“Between”。
wuyq11 2011-02-27
  • 打赏
  • 举报
回复
DataRow [] drs = dt.Select("Date between '" + startDate + "' and '" + endDate+"'");
使用'
winner2050 2011-02-27
  • 打赏
  • 举报
回复
DataRow [] drs = dt.Select("Date between '" + startDate + "' and '" + endDate+"'");

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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