Asp.net 查询已在SQL Server中成功执行,但未在.NET中成功执行
我写了一个查询,在.NET应用程序和SQL Server中都运行良好 但是,当我使用宽参数进行测试时,我发现对于那个特定的参数,它在.NET应用程序中并没有显示任何内容,而是在SQL Server中显示结果 我试着用谷歌搜索,结果没有什么奇怪的。所以,我在这里问 这是我的疑问: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
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会这么做。