0

我有一个 SProc,它返回两次之间所有列的平均值,即 04:00 到 04:14。我希望有一个选项以相同的时间间隔返回 24 小时的结果(在这种情况下,时间间隔为 15 分钟。04:14 - 04:00)所以结果如下所示:

00:00 - 00:14 = x.xxx

00:15 - 00:29 = x.xxx

……

我假设我不能在 using 语句中更改 sqlcommand(特别是 SProc 的参数),并且需要在之前放置 for 循环,从而每次创建一个新的 SqlCommand 对象?

    for(int i = x; .....)
    {
        using (SqlCommand cmd = new SqlCommand())
        {
        }
    }

谢谢

4

2 回答 2

2

这是一种不错的方法,只要您不每次都打开新连接。不过,我不确定性能影响。

于 2012-06-24T21:39:18.743 回答
0

如果您真的想使用 for 循环,那么您应该执行以下操作:

using(SqlCommand cmd = new SqlCommand())
{
  //Setup the command object and connection.
  for(int i=0; i<....)
  {
    cmd.CommandText = "set your dynamic sql here based on current iteration";
    var reader = cmd.ExecuteReader();
    //Now read you rows
  }
}

我会在存储过程中的 SQL 中执行此操作,并为您的时间范围数据返回所有行。

于 2012-06-24T21:40:32.803 回答