C# 为什么Visual Studio';s表适配器查询是否返回与其所代表的存储过程相同的数据?

C# 为什么Visual Studio';s表适配器查询是否返回与其所代表的存储过程相同的数据?,c#,sql,visual-studio,tableadapter,data-access-layer,C#,Sql,Visual Studio,Tableadapter,Data Access Layer,我正在使用VisualStudio中的表适配器对SQLServer2005数据库中的存储过程进行查询。当我通过我的网站应用程序拨打电话时,它不会返回任何信息。当我通过SQL Server Manager进行相同的调用时,它将返回预期的数据 我在对适配器的getData方法的调用上设置了一个断点,查看了所有参数及其值,并在服务器管理的查询中匹配它们以确保。我正在发送以下查询: getData(string, date, date, int, int?, int?, string, int?, st

我正在使用VisualStudio中的表适配器对SQLServer2005数据库中的存储过程进行查询。当我通过我的网站应用程序拨打电话时,它不会返回任何信息。当我通过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 Studio在尝试将查询发送到SQL server之前是否对
null
做了一些处理。如果没有,如何解决此问题

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

日期需要在SQL中加引号,否则它们就不起作用了

使用Sql探查器查看发送到Sql server的Sql的实际外观。这对我有很多帮助。

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