Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 查询已在SQL Server中成功执行,但未在.NET中成功执行_Asp.net_Sql Server - Fatal编程技术网

Asp.net 查询已在SQL Server中成功执行,但未在.NET中成功执行

Asp.net 查询已在SQL Server中成功执行,但未在.NET中成功执行,asp.net,sql-server,Asp.net,Sql Server,我写了一个查询,在.NET应用程序和SQL Server中都运行良好 但是,当我使用宽参数进行测试时,我发现对于那个特定的参数,它在.NET应用程序中并没有显示任何内容,而是在SQL Server中显示结果 我试着用谷歌搜索,结果没有什么奇怪的。所以,我在这里问 这是我的疑问: SELECT DISTINCT tblCustomers.customerID AS Customer#, tblCustomers.firstName + ' ' + tblCus

我写了一个查询,在.NET应用程序和SQL Server中都运行良好

但是,当我使用宽参数进行测试时,我发现对于那个特定的参数,它在.NET应用程序中并没有显示任何内容,而是在SQL Server中显示结果

我试着用谷歌搜索,结果没有什么奇怪的。所以,我在这里问

这是我的疑问:

 SELECT DISTINCT 
        tblCustomers.customerID AS Customer#, 
        tblCustomers.firstName + ' ' + tblCustomers.surname AS Name, 
        tblCustomers.street AS Street, 
        tblCustomers.suburb AS Suburb, 
        tblCustomers.postCode AS Postcode, 
        tblCustomers.state AS State, 
        tblCustomers.country AS Country, 
        tblCustomers.phone AS [Phone No.], 
        tblCustomers.fax AS Fax, 
        tblCustomers.mobilePhone AS [Mobile Phone], 
        tblCustomers.email AS [E-mail]
  FROM    
        tblCustomers 
  INNER JOIN
        tblProduct_Backorder ON tblCustomers.customerID = tblProduct_Backorder.customerId
  WHERE     
        (tblCustomers.customerID IN
              (SELECT     
                   customerId
                FROM          
                    tblProduct_Backorder AS tblProduct_Backorder_1
                WHERE      
                    (productId IN
                            (SELECT     
                                 productID
                             FROM 
                                 tblProducts
                             WHERE      
                                (skuCode = 76761)
                    )
                 )
           )
       )
此查询不适用于
skuCode=76761
,但此查询在SQL Server中运行良好


谢谢。

您的问题中确实没有足够的信息,我们甚至无法猜测问题的起因。同时,尝试以下操作,而不是查询:

SELECT c.customerID AS [Customer#],
        c.firstName + ' ' + tblCustomers.surname AS Name,
        c.street AS Street,
        c.suburb AS Suburb,
        c.postCode AS Postcode,
        c.state AS State,
        c.country AS Country,
        c.phone AS [Phone No.],
        c.fax AS Fax,
        c.mobilePhone AS [Mobile Phone],
        c.email AS [E-mail]
 FROM   dbo.tblCustomers c
 WHERE  EXISTS ( SELECT 1
                 FROM   dbo.tblProduct_Backorder b
                 JOIN   dbo.tblProduct p
                        ON b.productId = p.productId
                 WHERE  p.skuCode = 76761
                        AND b.customerId = c.customerId );                              
如果我正确地理解了表的关系,它将在少做很多工作的同时产生相同的结果


对于原始问题,您还应该发布.net代码。还有,“没有结果”是什么意思?一个空的结果?暂停?错误?

我通过xQbert的评论找到了解决方案。我花了些时间,了解了如何在SQL Profiler中执行查询。表tblProduts中的skuCode为nvarchar(6),表tblProduct_中的skuCode为倒排整数。所以,我使用Convert()函数将同一个参数转换为整数。

我们这里没有足够的信息来回答这个问题。您正在连接到其他数据库吗?你真的执行了这个查询吗?你用的是什么代码?诸如此类,我为此道歉。我只是简单地将Gridview与SQL数据源连接起来,并且我提到了参数化查询本身。所以,我并没有编写任何连接数据库的代码。可能是ASP.net代码不正确,或者是连接字符串错误。巧合的是,你没有向我们展示这两件事。我尽力提供信息。我将尝试这个查询。谢谢你的帮助。我试过这个,结果也一样。你能告诉我这个查询是如何工作的吗?现在,我将在.net应用程序中尝试。我在asp.net的查询生成器中尝试了您的查询,发现了一些奇怪的行为。当我替换直接值(比如skuCode=76761)时,这两个查询都可以正常工作,但当我尝试使用参数(比如skuCode=@s和@s=76761)时,此时您的查询返回的结果为空值,而我的查询返回的结果为空。@s不是定义为字符串,是吗?@xQbert:我不知道.net会这么做。