【发布时间】:2013-08-17 15:32:16
【问题描述】:
T-SQL/Sql Server Manager 和 C# 中的输出参数是怎么回事?? 2 在与程序集等一起使用时如何组合?
嗯,我看到人们把 T-SQL 存储过程的输出参数放在里面......
这是什么意思?看起来很简单,但他们设法让它变得乏味和复杂。
IE:
我做了一个带有选择和输出参数的存储过程。
有什么大不了的?无论如何我执行它并查看结果。
程序集或从 C# 代码调用它是怎么回事?我执行它,我仍然可以在不需要输出参数的情况下将所有内容保存在数据表或流阅读器中......
有什么好的解释吗??
C#也是如此
out 参数修改有什么作用?
IE:像这样的函数 FindCity(string zipcode, out string cityname)
据我了解,只是我可以在不声明城市名的情况下对其进行评估,它会以字符串形式出现(至少我认为)
什么??? 这是为什么?谁能赐教?
谢谢
【问题讨论】:
-
如果你查看 MSDN,它会说“当你想要一个方法返回多个值时,声明一个 out 方法很有用。”
-
这意味着什么? Select 语句已经返回多个值,在 C# 中你甚至可以返回 10000 个返回值......
-
可以有N个不同类型的out参数,但只能从特定类型的方法返回值。检查可能对您有帮助的答案。
-
不清楚您指的是 SQL 还是 C#。从猜测中我可以想到第二个,但这没有任何意义。即使没有 out 参数,您仍然必须在单一类型的 SINGLE 对象中返回所需的所有值。
-
OUT参数有时用作多个记录集的替代方案。例如,假设您要检索客户的订单。有一个标题,其中包含收货方、收单方、...以及订单的行项目。您可以select标头,然后select行项目,但由于标头始终是单数,您可以将值作为out参数返回,并将行项目作为唯一的记录集返回。其他时候,它们用于提高效率。无需返回始终包含一行的记录集的开销,只需将值作为out参数返回。
标签: c# sql-server tsql parameters output