for循环使用与sqlcommand一起使用

时间:2012-06-24 20:09:27

标签: c#-4.0 ado.net sqlcommand

我有一个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())
        {
        }
    }

由于

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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中的存储过程中执行此操作,并返回时间范围数据的所有行。