簡體   English   中英

在 SSMS 中查詢返回結果,但在 C# 中不返回結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM