关于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不会变 ” 这个是不可能的 !