当前位置:  开发笔记 > 后端 > 正文

在DataTable.Select中使用BETWEEN

如何解决《在DataTable.Select中使用BETWEEN》经验,为你挑选了2个好方法。

我觉得这很简单,但显然不是!

基本上,我有一个约会,并希望在两个日期列上做'之间',如下所示:

myDataTable.Select(myDate & " between (StartDate and EndDate)")

StartDate和EndDate是DataTable中存在的日期列.

有任何想法吗?



1> Adriaan Stan..:

为什么不使用> =<=

Dim dt As New DataTable()
dt.Columns.Add("StartDate")
dt.Columns.Add("EndDate")
Dim row1 As DataRow = dt.NewRow()
row1("StartDate") = New DateTime(2009, 1, 1)
row1("EndDate") = New DateTime(2009, 1, 31)
dt.Rows.Add(row1)

Dim myDate As New DateTime(2008, 12, 15)
Dim rows As DataRow() = dt.[Select]([String].Format("#{0}# >= StartDate AND #{0}# <= EndDate", myDate.ToString("dd MMM yyyy")))



2> dariom..:

DataTable.Select方法不支持该BETWEEN操作。此操作特定于数据库引擎。请记住,它DataTable是内存中的结构,并不一定支持数据库服务器的所有功能。

DataTable.Select方法支持与相同的过滤器表达式语法DataColumn.Expression。您可以尝试使用以下表达式来实现相同的目的(请注意,我尚未对此进行测试!):

myDataTable.Select("#" + myDate + "# >= StartDate AND EndDate <= #" + myDate + "#");

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有