0

如何DateTime在 Windows Server 2008 r2 上安装的 SQL Server 2005 Express 中查询行?

我有根据从和到日期值选择行的代码。它在我的 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
4

3 回答 3

1

听起来日期/时间值是作为字符串传递的。这总是一个坏主意,格式问题比比皆是。这里最好的方法很简单:使用正确类型的参数。如果客户端和服务器都知道它是 DateTime,那么它将作为原始值传递,而不是字符串 - 因此没有格式问题。

确保C# 中的fromdate和是,而TSQL 中的 和 是。todateDateTime@fromdate@todatetablename.DATEdatetime

于 2012-07-22T08:17:22.663 回答
0

请设置与 Windows 7 上相同的日期时间格式,例如:dd/MM/yyyy

于 2012-07-22T08:01:10.030 回答
0

似乎您在传递日期参数时遇到了日期格式错误。有两种解决方案:首先,您可以尝试使用适用于任何地方的日期格式,即:YYYYMMDD ex : 20120722。另一种解决方案是在 sql 查询中创建 DateDiff 最好的方式

于 2012-07-22T08:02:19.853 回答