-2

我正在与非常奇怪的事情作斗争。我有 SQL Server 存储过程,它具有 XML 和 Guid 作为输入参数。

@ID uniqueidentifier,
@Xml XML

然后它从 XML 创建一个表,该表最后填充了 XML 数据。在下一步中,将创建 SQL 游标并遍历之前创建的整个表。

事实上,在 SQL Server 中调用的这个存储过程运行良好,并返回了应有的记录。

当我在 C# 中连接到这个存储过程时,问题就来了。我正在创建作为输入参数的 XML:

StringWriter writer = new System.IO.StringWriter();
table.WriteXml(writer, false);

new SQLParameterClass("@Xml", SqlDbType.Xml, 4000, ParameterDirection.Input, writer.ToString())

整个代码工作正常(没有错误/异常),但问题是它没有返回任何应有的记录。

我真的不知道是什么导致了这个问题,所以我非常感谢这方面的一些帮助。

谢谢!

4

1 回答 1

0

您需要将输出参​​数传递给 SP 以返回输出。我假设你返回整数值

var output= new SqlParameter { ParameterName = "@output", Direction = ParameterDirection.Output, SqlDbType = SqlDbType.Int };

在 Sp 中赋值并从存储过程中返回将为输出赋值

检查此链接以获取更多信息http://msdn.microsoft.com/en-us/library/59x02y99%28v=vs.110%29.aspx

于 2013-12-03T12:36:12.317 回答