[英]C# and SQL Server: How do I get values from my SQL Table, by calling my stored procedure with C#?
[英]How do I get the C# Query component to recognise columns returned data from a temporary table in a sql stored procedure
我已經創建了一個類似下面的存儲過程(我正在使用這個減少版本來嘗試解決我們的問題)。
CREATE PROCEDURE bsp_testStoredProc
AS
BEGIN
CREATE TABLE #tmpFiles
(
AuthorName NVARCHAR(50),
PercentageHigh INT
)
-- Insert data into temp table
SELECT AuthorName, PercentageHigh FROM #tmpFiles
ORDER BY PercentageHigh DESC
DROP TABLE #tmpFiles
RETURN 0
END
從我在VS2008中的C#代碼中,我嘗試使用Query組件和Use Existing Stored Procedure選項將其連接到DataTable / DataGridView以顯示結果。
但是,因為我從臨時表中進行選擇,所以在查詢組件屬性中,Visual Studio不會顯示從存儲過程返回的任何列。 我認為它確定正在使用的數據類型有困難,因為SP不是基於真實模式。
連接到從實際表中選擇的不同存儲過程會正確顯示列。
有誰知道這個嗎? 是否有某種提示我可以在某處明確說明將返回哪種數據?
提前致謝。
有關信息,您可能會考慮使用“表變量”而不是臨時表(即@FOO而不是#FOO) - 這可能會有所幫助,它肯定有助於一些tempdb問題。
使用臨時表 - 沒有辦法明確聲明SP模式。 我可能會建議在生成包裝類時使用SP的簡化版本 - 即讓它對正確的形狀進行簡單的SELECT。
或者,我會使用LINQ消耗UDF,里面確實有明確的架構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.