[英]Query a datetime in SQL Server 2005 Express
如何在Windows Server 2008 R2上安装的SQL Server 2005 Express中基于DateTime
查询行?
我有一些代码,用于根据from和date值选择行。 它可以在Windows 7系统中运行。 但是,它在Windows Server 2008 R2上不起作用...任何帮助
this.filterreportTableAdapter.FillBy(this.cRdataset.filterreport_datatable, fromdate, todate);
我的SQL查询是
SELECT *
FROM tablename
WHERE DATE BETWEEN @fromdate and @todate
听起来日期/时间值作为字符串传递。 这总是一个坏主意,并且格式问题很多。 最好的方法很简单:使用正确键入的参数。 如果客户端和服务器都知道它是一个DateTime,则将它作为原始值而不是字符串进行传递-因此没有格式问题。
确保fromdate
和todate
在C#中的DateTime
,以及@fromdate
, @todate
和tablename.DATE
在TSQL的datetime
。
请设置与Windows 7上相同的日期时间格式,例如:dd / MM / yyyy
似乎在传递日期参数时出现日期格式错误。 有两种解决方案:首先,您可以尝试使用在任何地方都可以使用的日期格式,即:YYYYMMDD ex:20120722。另一种解决方案是在sql查询中创建DateDiff。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.