9

我正在嘗試添加一個tableadapter到我的SQL Server 2005 Express中的存儲過程。但是,存儲過程使用名爲#temp的臨時表。當創建表適配器時,Visual Studio會抱怨「未知對象#temp'」,並說存儲過程返回0列。這是有問題的,因爲我使用該存儲過程的水晶報告,並需要這些列。爲什麼我的類型數據集不像臨時表?

我該如何解決這個問題?

回答

30

奇怪。根據this您添加

IF 1=0 BEGIN 
    SET FMTONLY OFF 
END 

到SP後,SP作爲SP的一部分,它的工作原理。 Visual Studio現在沒有問題。我不知道爲什麼這樣工作,或者它爲什麼會起作用,但它確實如此。

+2

有人可能有一個糟糕的髮型。它幫助了我。 +1 – 2009-07-01 08:52:00

1

這可能是一箇舊的線程,答案是找到的,但是當有人進入你的存儲過程後,看到這段代碼,他真的不明白。還有另一種方式來妥善做好這一點,它是簡單地申報表作爲像這樣的變量:

DECLARE @temp TABLE 
(
    SomeText1 nvarchar(255), 
    SomeText2 nvarchar(255) 
) 

另外,不要忘記在結束時刪除DROP TABLE。 PS:如果你真的需要使用臨時表,因爲你需要創建它,那麼你必須編寫上一個答案中給出的代碼。希望這可以幫助。

相關問題