首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于DataTable dt.rows.count的有关问题

2012-10-15 
关于DataTable dt.rows.count的问题public void Send(){DataTable dt new DataTable()int i 0while

关于DataTable dt.rows.count的问题
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,跳出,这样的话,发送的数据量就少了一半,这该怎么改才能解决这个问题....

[解决办法]
用遍历保存count = dt.Rows.Count那样, rows怎么变,变量值不变,循环中用count 变量
[解决办法]
int count=dt.Rows.Count;放在循环外面
for (i = 0; i < count; i++)
{
...
}

[解决办法]
简单点说 就是想上面两位那样 把dt.Rows.Count提出来 提到while的外面
不过对于你要实现的 说实话 我还没完全理清楚
[解决办法]
改用
foreach (DataRow dr in dt.Rows)
{

}

“Submit的表数据在删除的同时,dt.rows.count不会变 ” 这个是不可能的 !

热点排行