存储过程返回到C#.Net中的DataSet

cih*_*a87 14 c# asp.net stored-procedures dataset

我想从存储过程返回虚拟表,我想在c#.net中的数据集中使用它.我的过程有点复杂,无法找到如何返回表并在数据集中设置它

这是我修改的程序:

ALTER PROCEDURE [dbo].[Procedure1] 

    @Start datetime, 
    @Finish datetime,
    @TimeRange time
AS
BEGIN

    SET NOCOUNT ON;

    declare @TimeRanges as TABLE (SessionStart datetime, SessionEnd datetime);

     with TimeRanges as (
  select @Start as StartTime, @Start + @TimeRange as EndTime
  union all
  select StartTime + @TimeRange, EndTime + @TimeRange
    from TimeRanges
    where StartTime < @Finish )
  select StartTime, EndTime, Count( Test.ScenarioID ) as TotalPeaks
    from TimeRanges as TR left outer join
      dbo.Test as Test on TR.StartTime <= Test.SessionStartTime and Test.SessionCloseTime < TR.EndTime
    group by TR.StartTime, TR.EndTime   
END
Run Code Online (Sandbox Code Playgroud)

cod*_*biz 53

试试这个

    DataSet ds = new DataSet("TimeRanges");
    using(SqlConnection conn = new SqlConnection("ConnectionString"))
    {               
            SqlCommand sqlComm = new SqlCommand("Procedure1", conn);               
            sqlComm.Parameters.AddWithValue("@Start", StartTime);
            sqlComm.Parameters.AddWithValue("@Finish", FinishTime);
            sqlComm.Parameters.AddWithValue("@TimeRange", TimeRange);

            sqlComm.CommandType = CommandType.StoredProcedure;

            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = sqlComm;

            da.Fill(ds);
     }
Run Code Online (Sandbox Code Playgroud)


muh*_*hif 8

我应该告诉你基本步骤和休息取决于你自己的努力.您需要执行以下步骤.

  • 创建连接字符串.
  • 创建SQL连接
  • 创建SQL命令
  • 创建SQL数据适配器
  • 填充你的数据集.

不要忘记打开和关闭连接.点击此链接获取更多信息.