//当所有的词循环到了最后的一个的时候开始对数据进行处理
if (i == dtWorld.Rows.Count - 1)
{
//判断是否已经循环完毕,如果完 先根据guideid聚合,取出其中的要刷次数,已刷次数
DataTable dtt = dtWorld.DefaultView.ToTable(true, "clicktimes", "NeedClick", "guideid");
//遍历所有的行
foreach (DataRow drs in dtt.Rows)
{
//如果说这次刷完,要刷的次数跟已刷的次数一样,则将数据库这组词的时间更新为当前时间,将datatable表中的是这个guideid的所有行全部删除
if (Convert.ToInt32(drs["clicktimes"]) + 1 == Convert.ToInt32(drs["NeedClick"]))
{
//如果条件满足就移除datatable表中的是这个guideid的所有行
DataRow[] ro = dtWorld.Select(string.Format("guideid={0}", drs["guideid"]));
foreach (DataRow ds in ro)
{
dtWorld.Rows.Remove(ds);
}
//更新数据库的 clicktime
string SqlUpDate = string.Format("update guideworld set clicktime=getdate(), clicktimes=clicktimes+1 where guideid={0}", drs["guideid"]);
SqlHelper.ExecuteNonQuery(conStr, CommandType.Text, SqlUpDate);
}
//如果不是最后一次刷
else
{
//循环将所有的是这个guideid的已刷次数都更新一次
DataRow[] rows = dtWorld.Select(string.Format("guideid={0}", drs["guideid"]));
for (int r = 0; r < rows.Length; r++)
{
rows[r]["clicktimes"] = (Int32)rows[r]["clicktimes"] + 1;
}
//更新数据库的数据,将已刷次数更新
string SqlUpdNeed = string.Format("update guideworld set clicktimes=clicktimes+1 where guideid='{0}'", drs["guideid"]);
SqlHelper.ExecuteNonQuery(conStr, CommandType.Text, SqlUpdNeed);
}
}
//执行切换IP
//或则执行重新拨号
UpdNeed();
AsynRun(Worles);
}
if (i == dtWorld.Rows.Count - 1)
{
//判断是否已经循环完毕,如果完 先根据guideid聚合,取出其中的要刷次数,已刷次数
DataTable dtt = dtWorld.DefaultView.ToTable(true, "clicktimes", "NeedClick", "guideid");
//遍历所有的行
foreach (DataRow drs in dtt.Rows)
{
//如果说这次刷完,要刷的次数跟已刷的次数一样,则将数据库这组词的时间更新为当前时间,将datatable表中的是这个guideid的所有行全部删除
if (Convert.ToInt32(drs["clicktimes"]) + 1 == Convert.ToInt32(drs["NeedClick"]))
{
//如果条件满足就移除datatable表中的是这个guideid的所有行
DataRow[] ro = dtWorld.Select(string.Format("guideid={0}", drs["guideid"]));
foreach (DataRow ds in ro)
{
dtWorld.Rows.Remove(ds);
}
//更新数据库的 clicktime
string SqlUpDate = string.Format("update guideworld set clicktime=getdate(), clicktimes=clicktimes+1 where guideid={0}", drs["guideid"]);
SqlHelper.ExecuteNonQuery(conStr, CommandType.Text, SqlUpDate);
}
//如果不是最后一次刷
else
{
//循环将所有的是这个guideid的已刷次数都更新一次
DataRow[] rows = dtWorld.Select(string.Format("guideid={0}", drs["guideid"]));
for (int r = 0; r < rows.Length; r++)
{
rows[r]["clicktimes"] = (Int32)rows[r]["clicktimes"] + 1;
}
//更新数据库的数据,将已刷次数更新
string SqlUpdNeed = string.Format("update guideworld set clicktimes=clicktimes+1 where guideid='{0}'", drs["guideid"]);
SqlHelper.ExecuteNonQuery(conStr, CommandType.Text, SqlUpdNeed);
}
}
//执行切换IP
//或则执行重新拨号
UpdNeed();
AsynRun(Worles);
}
本文介绍了一种数据处理机制,该机制通过循环遍历数据集并根据特定条件更新已刷次数与数据库记录,同时实现了根据不同情况对数据进行聚合处理及数据库更新的方法。
1238

被折叠的 条评论
为什么被折叠?



