[英]Query return result in SSMS but not in C#
我的數據庫開發人員給了我一個 SQL 查詢,它在 SSMS 中成功運行。
USE testdb
DECLARE @Pipeline TABLE
(
pipeline VARCHAR(4000),
unitcode VARCHAR(4000),
designareanumber VARCHAR(4000),
nameofnote VARCHAR(4000)
)
INSERT INTO @Pipeline
SELECT pipeline,
unitcode,
designareanumber,
nameofnote
FROM (SELECT pp.oid AS OID,
nmpp.itemname AS ItemName,
nmpl.itemname AS Pipeline,
tn.trainnumber AS TrainNumber,
uc.unitcode AS UnitCode,
FROM jrtepipepart pp
JOIN jnameditem nmpp
ON pp.oid = nmpp.oid
JOIN xcontainsnote xcn
ON pp.oid = xcn.oidorigin
WHERE gn.text <> ''
AND ( nmpps.itemname = 'Piping_New'
OR nmpps.itemname = 'Piping_Modified/Tie_In' )
--where gn.Text like '%000002A_TP08' AND (nmpps.ItemName = 'Piping_New' OR nmpps.ItemName = 'Piping_Modified/Tie_In')
UNION ALL
SELECT hs.oid AS OID,
nmhs.itemname AS ItemName,
nmpl.itemname AS Pipeline,
tn.trainnumber AS TrainNumber,
uc.unitcode AS UnitCode,
FROM jhgrsupport hs
JOIN jnameditem nmhs
ON hs.oid = nmhs.oid
WHERE gn.text <> ''
AND ( nmpps.itemname = 'Piping_New'
OR nmpps.itemname = 'Piping_Modified/Tie_In' ))A
SELECT pipeline,
unitcode,
designareanumber,
( Stuff((SELECT Cast('; ' + nameofnote AS VARCHAR(max))
FROM @Pipeline p2
WHERE ( p2.pipeline = p1.pipeline
AND p2.unitcode = p1.unitcode
AND p2.designareanumber = p1.designareanumber
AND nameofnote NOT IN ( 'Note 1', '' ) )
FOR xml path ('')), 1, 2, '') ) AS NameOfNote
FROM @Pipeline p1
WHERE nameofnote NOT IN ( 'Note 1', '' )
GROUP BY pipeline,
unitcode,
designareanumber
當我在 OleDbDataAdapter 中運行上述查詢時,它返回 0 行。 我嘗試在查詢開始時添加SET NOCOUNT ON
但不起作用。 我增加了 set-timeout 屬性。
刪除USE testdb
,添加SET NOCOUNT ON
並在表名解決此問題之前添加數據庫名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.