Subsonic 3.0 使用 DateColumn 选择查询

发布于 2024-08-30 03:29:50 字数 726 浏览 1 评论 0原文

在使用日期字段选择记录时,我遇到一个问题,

我的 SQL2005 视图(ViewOrders)StarDate 列

4/23/2010 12:00:00 AM
4/23/2010 12:00:00 AM
4/23/2010 12:00:00 AM
4/23/2010 12:00:00 AM
4/23/2010 1:07:00 PM

使用 subsonic 3.0 有我的代码,

AMDB ctx = new AMDB();
SqlQuery vwOrd = ctx.Select.From<viewOrders>();   
vwOrd = vwOrd.And("StartDate").IsGreaterThanOrEqualTo("04/22/2010");//From date
vwOrd = vwOrd.And("StartDate").IsLessThanOrEqualTo("04/22/2010");// To Date
List<viewOrders> cat = vwOrd.ToList<viewOrders>();

我只能获取前四个记录,我无法获取开始日期的最终记录包含(2010 年 4 月 23 日下午 1:07:00)。 我认为问题出在时间格式上。

我如何以亚音速编码,它只比较日期时间列中的日期。

我不需要亚音速的日期“Between”方法,因为我可以获得单个日期参数(仅从日期)。

While selecting records using Date-Field i am facing a problem ,

my SQL2005 View (ViewOrders) StarDate column Have

4/23/2010 12:00:00 AM
4/23/2010 12:00:00 AM
4/23/2010 12:00:00 AM
4/23/2010 12:00:00 AM
4/23/2010 1:07:00 PM

My Code using subsonic 3.0

AMDB ctx = new AMDB();
SqlQuery vwOrd = ctx.Select.From<viewOrders>();   
vwOrd = vwOrd.And("StartDate").IsGreaterThanOrEqualTo("04/22/2010");//From date
vwOrd = vwOrd.And("StartDate").IsLessThanOrEqualTo("04/22/2010");// To Date
List<viewOrders> cat = vwOrd.ToList<viewOrders>();

i can able to fetch only first four records, i can't able to fetch the final record which start date contains(4/23/2010 1:07:00 PM).
I think the problem is in the time format..

How can i code in subsonic ,which compare only the date in the date-time column.

I Don't need date "Between" method in subsonic, since i can get single date parameter(From date alone).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

裸钻 2024-09-06 03:29:50

作为一般规则,获取日期范围内的日期时间记录通常是通过(伪代码)来实现的。

DateField >= startdate AND DateField < (EndDate + 1 day)

我对你的示例有点困惑,其中你的日期记录都是 2010 年 4 月 23 日,但你似乎正在搜索 22 日的记录-10 年 4 月?

另外,作为一般建议,使用“YYYYMMDD”格式进行日期比较 - 这将处理不同日期格式的不同服务器。

As a general rule, getting datetime records within a date range is normally achieved by (psuedo code)

DateField >= startdate AND DateField < (EndDate + 1 day)

I'm slightly confused by your example where your date records are all 23-Apr-10, but you seem to be searching for those on 22-Apr-10?

Also, as a general bit of advice, do date comparisons using the format 'YYYYMMDD' - this will cope with different servers in different date formats.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文