0
我的存储过程: -从存储过程C#发送输出参数并获得多个数据集
DECLARE @return_value int,
@Sum int,
@Total float
EXEC @return_value = [dbo].[mysamplesp]
@sd = '2014-09-23 00:00:00.000',
@ed = '2014-09-30 00:00:00.000',
@ID = '40494',
@sp = NULL,
@Ct = NULL,
@GD = NULL,
@Sum = @Sum OUTPUT,
@Total = @Total OUTPUT
SELECT @Sum as N'@Sum',
@Total as N'@Total'
SELECT 'Return Value' = @return_value
执行结果; -
dataset1-
col1 col2 col3 col4 col5
datase2-
@Sum @Total
数据集的3-
return_value
我的C#实现: -
Dictionary<string, object> storage = new Dictionary<string, object>();
storage.Add("sd", "2014-09-23 00:00:00.000");
storage.Add("ed", "2014-09-30 00:00:00.000");
storage.Add("ID", "40494");
storage.Add("Sp", null);
storage.Add("Ct", null);
storage.Add("GD", null);
storage.Add("Sum", null);
storage.Add("Total", null);
var spReturn = new Data(Data.DBKEY).ExecuteSotredProcedure("mysamplesp", storage);
。 。 。问:如何使用C#中的字典将输出参数发送到Sp?可能吗? Q2:如何从SP中获得多个数据集作为结果?
我加入像下面的代码 - 'cmd.Parameters [ “总和”]方向= ParameterDirection。 。输出; cmd.Parameters [“Total”]。Direction = ParameterDirection.Output;'但是获取String [6]:Size属性的无效大小为0。 ' – flute
试着设置你的输出参数的'Size'属性,如 cmd.Parameters [“Sum”]。Size = 5'。请参阅[此链接](http://stackoverflow.com/questions/17494990/the-size-property-has-an-invalid-size-of-0) – MantasG
但我无法从SP获取第二个数据集。读者只显示一个(一组4列).even reader.NextResult()无法找到它.. – flute