Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何使用sql server 2008从表中选择给定日期的记录_Asp.net_Sql Server 2008 - Fatal编程技术网

Asp.net 如何使用sql server 2008从表中选择给定日期的记录

Asp.net 如何使用sql server 2008从表中选择给定日期的记录,asp.net,sql-server-2008,Asp.net,Sql Server 2008,我在sql server中有一个表 新闻ID、标题、文章、附件、日期 我想使用Calendar extender从asp.net c中为用户提供的任何日期选择新闻表的所有记录。News表中的Date列是datetime。我使用了以下查询: 从News where News.Date=@Date和 News.Publish\u Status=1 order by News.News\u ID desc 但在我提供任何日期时都不起作用,找不到结果。请帮助我。尝试以下查询: var fromDate

我在sql server中有一个表 新闻ID、标题、文章、附件、日期

我想使用Calendar extender从asp.net c中为用户提供的任何日期选择新闻表的所有记录。News表中的Date列是datetime。我使用了以下查询:

从News where News.Date=@Date和 News.Publish\u Status=1 order by News.News\u ID desc

但在我提供任何日期时都不起作用,找不到结果。请帮助我。

尝试以下查询:

var fromDate = selectedDate.Date; // date with 0 hours, 0 minutes, 0 seconds
var toDate = selectedDate.Date.AddDays(1).AddSeconds(-1); // date with 23 hours, 59 minutes, 59 seconds

var query = "select distinct News.* from News where News.Date >= @fromDate  and News.Date <= @toDate and News.Publish_Status=1 order by News.News_ID desc
请尝试以下查询:

select distinct News.* 
from News 
where CONVERT(VARCHAR(MAX),News.Date,101) = CONVERT(VARCHAR(MAX),@Date,101) 
      and News.Publish_Status=1 
order by News.News_ID desc

它适用于任何日期格式。

您能告诉我如何将日期传递给@date字段吗?日期字段的数据类型是什么?如果是datetime,则必须将记录时间截断为00:00:00。为此,只需将@date参数和date字段转换为int,然后进行比较。