private void btnLxcw_Click(object sender, EventArgs e)
{
DataTable oleta = new DataTable();
OleDbDataAdapter olda = new OleDbDataAdapter("select id from name where ch='2'", oleconn);
olda.Fill(oleta);
int mst = 2;
int i = oleta.Rows.Count;
for (int k = 0; k < i; )
{
for (int t = 0; t < mst; t++)
{
MessageBox.Show("i=" + i.ToString() + "; k= " + (k + 1).ToString() + "; t=" + t.ToString());
k++;
if (k >= i)
{
break;
}
}
}
}
i=oleta.Rows.Count;得到的值为2,第一次点的时候得到:
i=2;k=1;t=0;
i=2;k=2;t=1;
第二点的时候为何得到:
i=4;k=1;t=0;
i=4;k=2;t=1;
i=4;k=3;t=0;
i=4;k=4;t=1;
为什么会出现这样的问题,才高手。
{
DataTable oleta = new DataTable();
OleDbDataAdapter olda = new OleDbDataAdapter("select id from name where ch='2'", oleconn);
olda.Fill(oleta);
int mst = 2;
int i = oleta.Rows.Count;
for (int k = 0; k < i; )
{
for (int t = 0; t < mst; t++)
{
MessageBox.Show("i=" + i.ToString() + "; k= " + (k + 1).ToString() + "; t=" + t.ToString());
k++;
if (k >= i)
{
break;
}
}
}
}
i=oleta.Rows.Count;得到的值为2,第一次点的时候得到:
i=2;k=1;t=0;
i=2;k=2;t=1;
第二点的时候为何得到:
i=4;k=1;t=0;
i=4;k=2;t=1;
i=4;k=3;t=0;
i=4;k=4;t=1;
为什么会出现这样的问题,才高手。
你看看有几条记录
DataRow的版本太多,试验起来复杂...
因为每次进去都会创建一个新的 DataTable 对象的,照理说应该是
每次一样才是。
把i = oleta.Rows.Count改成i = 4;就没有问题。所以说问题的根源还是i = oleta.Rows.Count;
oleta.Clear()
看一下
一直跟踪监视oleta
DataTable oleta = null;
oleta = new DataTable();