SET DATEFORMAT在Classic ASP中返回零记录

时间:2013-05-12 18:08:03

标签: sql-server asp-classic

我有一个令人困惑的问题。在SQL Server中,我运行以

开头的查询

SET DATEFORMAT ymd;

之后就有了DateAdded BETWEEN'2013-05-01'''2013-05-13'。

当我在SQL Server 2005 Management Studio上运行它时,它返回我想要的结果。但是,当我在Classic ASP中通过ADODB运行相同的SQL语句时,它返回零记录。

如果我拿出SET DATEFORMAT ymd; ASP确实返回记录,但没有以正确的日期格式返回。

有没有理由为什么通过ASP运行查询没有产生结果,但SQL Server Management Studio确实产生了结果? (它们也在同一个登录下运行!)

该列是“日期时间”

1 个答案:

答案 0 :(得分:1)

正如@ShadowWizard所说,尝试移动到下一个记录集。

更优雅的解决方案是在查询之前添加SET NOCOUNT ON。这将停止显示受Transact-SQL语句或存储过程影响的行数计数的消息作为结果集的一部分返回。

实施例

SET NOCOUNT ON; SET DATEFORMAT ymd; select * from YourTable