关于DataTable dt.rows.count的问题

whawmy 2012-09-14 10:40:25
public void Send()
{
DataTable dt = new DataTable();
int i = 0;
while (.......)
{
dt = sqlhelper.SelectSubmitAll();

if (dt.Rows.Count > 0)
{
for (i = 0; i < dt.Rows.Count; i++)
{


sql.InsertSending(....);

sendMessage(....);
sql.DeleteSubmit(....);

}

}



就这样,在每次发送数据的时候,将数据录入到Sending表,一边录入一边删除,但是,那个dt.rows.count也会不断的变化,影响发送的数据,这该怎么改才能使Submit的表数据在删除的同时,dt.rows.count不会变,不会影响到结果,即例如:
dt.rows.count=10,放到里面去,那么第一次,i=0,i<10,i++;第二次,i=1,i<9,i++,第三次....直到i=5,跳出,这样的话,发送的数据量就少了一半,这该怎么改才能解决这个问题....
...全文
470 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanyangzimu 2013-08-14
  • 打赏
  • 举报
回复
我都看不懂那个dt.Rows.Count == 0是什么意思,菜鸟啊
hyx972 2012-09-14
  • 打赏
  • 举报
回复
改用
foreach (DataRow dr in dt.Rows)
{

}

“Submit的表数据在删除的同时,dt.rows.count不会变 ” 这个是不可能的 !
andy1020tc 2012-09-14
  • 打赏
  • 举报
回复
简单点说 就是想上面两位那样 把dt.Rows.Count提出来 提到while的外面
不过对于你要实现的 说实话 我还没完全理清楚
sj490790083 2012-09-14
  • 打赏
  • 举报
回复
int count=dt.Rows.Count;放在循环外面
for (i = 0; i < count; i++)
{
...
}
bdmh 2012-09-14
  • 打赏
  • 举报
回复
用遍历保存count = dt.Rows.Count那样, rows怎么变,变量值不变,循环中用count 变量

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧