Возврат нескольких наборов данных из сохраненного процесса в VB - PullRequest
2 голосов
/ 19 января 2010

У меня есть зашифрованный процесс 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, типизированные наборы данных), чтобыЯ могу кодировать с ними, я не знаю, из каких таблиц все это происходит, и их много!

Я подошел близко, используя Linq для SQL и IMultipleResults, но разочаровался, когда мне приходилось перекодировать его каждый раз, когда я вносил изменения в файл конструктора.

Мне кажется, что должно быть простоеспособ сделать это, есть идеи?

Ответы [ 2 ]

1 голос
/ 19 января 2010

Я бы поместил результаты в нетипизированный набор данных. Это самый гибкий. Вы можете зациклить коллекцию столбцов каждой таблицы в наборе данных, чтобы получить имена полей. Каждый набор результатов будет таблицей в коллекции таблиц. (таблицы по-прежнему будут называться Table1, Table2 и т. д., к сожалению).

Однако мне неясно, какова точная природа вашей проблемы.

0 голосов
/ 19 января 2010

Я подошел близко, используя Linq для SQL и IMultipleResults, но разочаровался, когда мне приходилось перекодировать его каждый раз, когда я вносил изменения в файл конструктора.

А почему это было?

Насколько я помню, вы можете кодировать все, что захотите, на основе класса, созданного Linq-to-SQL, и вам не нужно перекодировать, если вы вносите изменения в файл конструктора ... Если вы не кодируете его внутри автоматически сгенерированного *.Designer.vb файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...