我正在尝试找出任何SQL Server 2008存储过程的输入和输出。
我正在使用SMO连接到数据库实例,然后我抓住所有数据库和每个数据库存储过程。
目前,我可以获取StoredProcedure
对象并获取输入参数,但我无法找到结果。
我知道我可以使用ExecuteWithResults
传递我的存储过程来运行它,但我怎样才能得到结果?
另外,我如何传递参数?我是否构建了一个exec命令并将其传递给了?
编辑:我发现我需要使用SET FMTONLY ON,但我究竟如何将其传递给ExecuteWithResults?
答案 0 :(得分:0)
想出来。使用StringCollection构建字符串集合。确保添加(“SET FMTONLY ON”),这样您就不会影响任何实际数据。使用存储过程Parameters集合中的所有参数构建一个exec命令,然后对该集合执行executeWithResults。这将返回一个DataSet []。在您在StringCollection上添加exec命令的数据集数组中获取相同的索引。从这里,您可以获得结果表集,然后是其列,其中包含所有列名称及其数据类型。