什么是ADO.NET输出参数

时间:2013-03-14 23:41:27

标签: c# ado.net

我正在阅读Murachs ADO.NET 4数据库编程书。在第7章中,他们讨论了输出参数。在编写数据读取器之前,我从未见过这个。这本书釉了主题,互联网也是如此。我的问题是什么是输出参数以及您将使用输出参数的情况。

以下是本书中的示例:

SELECT @Name = Name, @Address = Address1, @Address2 = Address2, @City = City
FROM Vendors
WHERE VendorID = @VendorID

正如您所看到的,此查询的选择区域中有参数。这是如何运作的?我以前从未见过他们。我总是在where子句中看到它们。

1 个答案:

答案 0 :(得分:1)

如果您想要返回多个标量值而不必将它们放入结果表中,您可以使用多个输出参数。

T-SQL上下文(无论是存储过程还是直接执行SQL)接受参数,并返回以下任何或所有内容:

  1. 结果集(由零个或多个表组成)
  2. 返回代码或值
  3. 输出参数
  4. 消息
  5. 在你发布的T-SQL中,它意味着而不是在结果集中返回一个表,代码在T-SQL变量中存储奇异的标量字段值(因为VendorID是主键,只有1将返回行),并且可能这些变量被绑定为输出参数,因此可以由调用SQL客户端访问。

    在某种程度上,可以将T-SQL脚本的输出与C#函数进行比较,C#函数可以通过设置out方法参数,提供返回值以及写入stdoutstderr(或任何其他非本地的范围内资源)。