在下面DataView.Rowfilter过滤器,REQUEST_DATE是SMALLDATETIME:VB DataView.RowFilter和铸造之前比较
dv.RowFilter = "Request_Date >= '01/01/2012' and Request_Date <= '12/31/2012'"
这样做的问题是,SMALLDATETIME是MM/dd/yyyy hh:mm:ss
,但它相比与字符串格式'MM/dd/yyyy'
。这意味着过滤器会自动将字符串转换为smalldatetime,因此比较仅显示2012年1月1日上午12点和2012年12月31日上午12点之间的日期/时间。 2012年12月31日当天晚些时候的任何行都不会被此过滤器拾取。我知道我可以添加一天到结束日期或连接,比如说,12:59:59到日期结束以便在当天选择其他时间,但我希望沿着线条更优雅一些的sql相当于... CONVERT(smalldatetime, Request_Date, 101) <= '12/31/2012'
。有什么办法可以为DataView字段获取不同的日期格式,还是我坚持在比较之前按摩结束日期?
仅供参考,目前最好的办法是这样的:
dv.RowFilter = "Request_Date >= #" & dtpStartDate.DateText & "# and Request_Date <= #" & DateAdd(DateInterval.Day, 1, dtpEndDate.DateValue) & "#"
感谢您的帮助!
我真的很感谢Tim和我可能应该指定我们仍然在.NET 2.0上(不要问)。 – DotNetVet