![](/img/trans.png)
[英]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.