0

2回の間、つまり04:00から04:14までのすべての列の平均を返すSProcがあります。同じ間隔で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 に答える