0

我在 Visual Studio 中使用表适配器来查询我的 SQL Server 2005 数据库中的存储过程。当我通过我的网站应用程序拨打电话时,它什么也不返回。当我通过 SQL Server Manager 进行相同的调用时,它会返回预期的数据。

我在对适配器方法的调用上放置了一个断点,getData并查看了所有参数及其值,并在服务器管理的查询中匹配它们以确保。我正在发送以下查询:

getData(string, date, date, int, int?, int?, string, int?, string)

更远

getData('0000-rtg', '1/1/2007', '3/12/2008', 0, null, null, null, null, null)

我想我想知道 Visual Studionull在尝试将查询发送到 SQL 服务器之前是否对 's 做了一些事情。如果没有,我该如何解决这个问题?

编辑:所有这些值都由变量传递,我只是在那个断点输入了这些变量中的内容。

4

3 回答 3

1

日期需要在 SQL 中用引号括起来,否则它们不起作用。

于 2008-12-03T14:34:25.340 回答
1

使用 Sql Profiler 查看发送到 sql server 的 sql 的实际样子。这帮助了我很多次。

于 2008-12-03T14:51:50.313 回答
0

Visual Studio 的查询参数很有趣。确保每个变量都具有正确的长度和类型。例如,我在查询中使用了几个日期参数。每次我编辑查询时,Visual Studio 都会自动检测日期参数并将变量的长度限制为 7。我将日期作为“2009 年 9 月 12 日”传入,它被截断为“20 年 9 月 12 日”,所以我需要手动将我的日期参数更改为 10 的长度。

于 2009-09-09T19:52:16.117 回答