现在有10w数据,想每5w取值,怎么在SqlDataReader中循环,取下一个5w
cmd.Connection = conn;
cmd.CommandText = sqlStr;
cmd.CommandType = CommandType.Text;
int oneBatchSize = 50000;
// cmd.CommandTimeout = 7200;
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
int i = 1;
while(dr.Read())
{
Obj.Add(PopulateProblemCodeRawdataFromDr(dr));
Console.WriteLine(i.ToString());
i++;
if (i > oneBatchSize)
break;
}
这是取前5w,后5w怎么循环,怎么开始,请各位大仙帮忙
cmd.Connection = conn;
cmd.CommandText = sqlStr;
cmd.CommandType = CommandType.Text;
int oneBatchSize = 50000;
// cmd.CommandTimeout = 7200;
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
int i = 1;
while(dr.Read())
{
Obj.Add(PopulateProblemCodeRawdataFromDr(dr));
Console.WriteLine(i.ToString());
i++;
if (i > oneBatchSize)
break;
}
这是取前5w,后5w怎么循环,怎么开始,请各位大仙帮忙
while(dr.Read())
{
if(i++<50000) continue;
//...
}
http://blog.csdn.net/Fibona/archive/2007/03/02/1519480.aspx
DataAdapter内部其实也是DataReader
while(dr.Read())
{
if(i++ <50000) continue;
//...
}
=====================
正解,也只有通过一个i 记录当前的序号