读书人

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

发布时间: 2012-10-15 09:45:25 作者: rapoo

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

读书人网 >C#

热点推荐