从存储过程中获取多个结果集

时间:2013-12-30 12:40:39

标签: c# sqldatareader

我有一个包含多个选择的存储过程,如下所示:

select 'Connected'
exec DoWork
  @var1 = 23,
  @var2 = 400
select 'Done'
select 'Bye'

当我从C#代码调用存储过程时,我只在SqlDataReader中获得一个结果,并且它是'已连接'选择。

我称之为

SqlCommand command = connection.CreateCommand();
command.CommandType = System.Data.CommandType.StoredProcedure;
command.CommandText = "SP_MyProc";
command.Parameters.Add("@val", "TEST");
SqlDataReader reader = command.ExecuteReader();

while (reader.Read())
{
    string temp = "";

    for (int i = 0; i < reader.FieldCount; i++)
    {
       temp += reader.GetString(i) + " ";
    }

    worker.ReportProgress(0, temp);
}

connection.Close();

通常存储过程只返回一个结果集是有道理的,但我需要这个用于调试目的。有可能吗?

1 个答案:

答案 0 :(得分:2)

使用SqlDataReader NextResult