Qtp中的 在for 循环中 遇到的问题
1.dataTable中设置的参数usernam共三行:aaa,bbb,ccc2.如果代码写成这样fori=0to2DataTable.SetCurrentRow(i)....
1.dataTable 中设置的参数usernam共三行:aaa,bbb,ccc
2.如果代码写成这样
for i=0 to 2
DataTable.SetCurrentRow(i)
....
DataTable.SetNextRow
next
这种写法的时候,运行的时候,会取值:aaa,aaa,bbb。执行三次,没有执行ccc,将aaa执行了两次.
但是如果将代码DataTable.SetCurrentRow(i)一句去掉也会好着。
或者不去掉DataTable.SetCurrentRow(i)这一句代码只是将循环的变量的取值写成下面的i=1to 3 就对着呢,这是为什么?
for i=1 to 3
DataTable.SetCurrentRow(i)
....
DataTable.SetNextRow
next
执行三次:aaa,bbb,ccc
..... 展开
2.如果代码写成这样
for i=0 to 2
DataTable.SetCurrentRow(i)
....
DataTable.SetNextRow
next
这种写法的时候,运行的时候,会取值:aaa,aaa,bbb。执行三次,没有执行ccc,将aaa执行了两次.
但是如果将代码DataTable.SetCurrentRow(i)一句去掉也会好着。
或者不去掉DataTable.SetCurrentRow(i)这一句代码只是将循环的变量的取值写成下面的i=1to 3 就对着呢,这是为什么?
for i=1 to 3
DataTable.SetCurrentRow(i)
....
DataTable.SetNextRow
next
执行三次:aaa,bbb,ccc
..... 展开
2个回答
展开全部
我不太明白你想问什么。。
如果你问的是运行后结果为什么不同,原因如下:
1,首先理解:Datatable.setcurrentrow(i) 是取当前运行时取得行(i)的值。
2,虽然两次运行都是迭代三次,但第一次运行,你的Datatable.setcurrentrow(i) 是取行号0~2的值;第二次运行Datatable.setcurrentrow(i) 是取到行号1~3的值。
3,Datatable.setcurrentrow(i) 一般用在循环体外,这样可以控制循环范围。
如果你问的是运行后结果为什么不同,原因如下:
1,首先理解:Datatable.setcurrentrow(i) 是取当前运行时取得行(i)的值。
2,虽然两次运行都是迭代三次,但第一次运行,你的Datatable.setcurrentrow(i) 是取行号0~2的值;第二次运行Datatable.setcurrentrow(i) 是取到行号1~3的值。
3,Datatable.setcurrentrow(i) 一般用在循环体外,这样可以控制循环范围。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询