从VB中的存储过程返回多个数据集

时间:2010-01-19 14:26:04

标签: vb.net tsql stored-procedures

我有一个加密的SQL Server存储过程,我运行(或vb .net等效代码):

declare @p4 nvarchar(100)
set @p4=NULL
declare @p5 bigint
set @p5=NULL
exec AA_PAY_BACS_EXPORT_RETRIEVE_S
@PS_UserId=N'ADMN', 
@PS_Department=N'',
@PS_PayFrequency=2,
@PS_ErrorDescription=@p4 output
select @p4, @p5

这将返回2个数据集和结果的输出参数,数据集由各种表连接等组成,一个包含头记录,另一个包含详细记录。

我需要将2个数据集放入VB .net中的结构(例如linq,sqldatareader,类型化数据集),以便我可以使用它们进行编码,我不知道这些表来自哪些表,并且有很多表他们Whooopeee !!!

我使用Linq来接近SQL和IMultipleResults,但是当我每次对设计器文件进行更改时不得不重新编码时,我感到很沮丧。

我的感觉是,必须有一个简单的方法来做到这一点,任何想法?

2 个答案:

答案 0 :(得分:1)

我将结果放入无类型数据集中。这是最灵活的。您可以循环访问数据集中每个表的列集合以获取字段名称。每个结果集都是表集合中的一个表。 (不幸的是,这些表仍将被命名为Table1,Table2等)。

但是,我不清楚问题的确切性质。

答案 1 :(得分:0)

  

我使用Linq来接近SQL和IMultipleResults,但每次我对设计器文件进行更改时都需要重新编码,这让我很沮丧。

为什么会这样?

据我所知,你可以根据Linq-to-SQL创建的类编写你想要的任何代码,如果对设计器文件进行更改则无需重新编码...除非你在自动生成的内部编码*.Designer.vb档案。