Как получить результат хранимой процедуры с параметрами в C#?
У меня есть следующая хранимая процедура с параметрами:
USE [DBRapBreaza] GO /****** Object: StoredProcedure [dbo].[PS_SpauOPompa] Script Date: 1/10/2019 10:01:13 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[PS_SpauOPompa] @DataStart datetime, @DataStop datetime, @val int AS BEGIN SET NOCOUNT ON; declare @sql NVARCHAR(max) declare @col1 varchar (25) declare @col2 varchar(25) declare @col3 varchar (25) declare @col4 varchar (25) declare @col5 varchar (25) declare @col6 varchar (25) set @col1='ID' set @col2='BREAZA_SPAU'+CONVERT(VARCHAR, @val)+'_EA' set @col3='BREAZA_SPAU'+CONVERT(VARCHAR, @val)+'_EQ' set @col4='BREAZA_SPAU'+CONVERT(VARCHAR, @val)+'_ore1' set @col5='BREAZA_SPAU'+CONVERT(VARCHAR, @val)+'_nivel' set @col6='DateTime' set @sql= 'select [ID], ' + @col2 + ',' + @col3 + ',' + @col4 + ',' + @col5 + ',' + @col6 + ' FROM [DBRapBreaza].[dbo].[TblSPAU'+CONVERT(VARCHAR, @val)+ '] WHERE DateTime between '''+CONVERT(VARCHAR(25), @DataStart,121)+ ''' and '''+CONVERT(VARCHAR(25), @DataStop,121)+''';' print @sql; EXEC sp_executesql @sql, N'@DataStart datetime, @DataStop datetime, @val int', @DataStart, @DataStop, @val; END --execute [PS_SpauOPompa] '2018-12-13 15:58:46.940', '2018-12-13 16:31:39.243', 40
Когда я выполняю его в Microsoft SQL Server Management, все в порядке. Результатом выполнения хранимой процедуры является:
Без названия — imgbb.com[^]
Я хочу получить эти результаты в C# с помощью элемента DataSet из Visual Studio. Когда я выбираю хранимую процедуру, ни один из столбцов не отображается в столбце данных (см. изображение ниже). против — imgbb.com[^]
Что я должен сделать, чтобы получить эти столбцы в C#? Заранее спасибо!
Что я уже пробовал:
Смотрите выше код, который я сделал до сих пор.
F-ES Sitecore
Вероятно, вам придется настроить столбцы вручную, если это возможно.
DrgIonuţ
Что вы подразумеваете под "установкой столбцов вручную"?
MadMyche
Не могли бы вы опубликовать код C#, вызывающий эту хранимую процедуру?