我有一个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())
{
}
}
由于
答案 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中的存储过程中执行此操作,并返回时间范围数据的所有行。