搜索
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 高手帮我看下,这是个怎么变成死循环了?
标题:
高手帮我看下,这是个怎么变成死循环了?
只看楼主
tlliqi
等 级:
贵宾
威 望:
204
帖 子:15453
专家分:65956
注 册:2006-4-27
第
11
楼
得分:0
以下是引用
lihuibiaozs
在2015-4-19 16:11:42的发言:
DO WHILE EOF()
DO xjqs
DO ssqs
LOOP
ENDDO
上述循环体中是对表的遍历,但缺了对表中记录行的动作。如SKIP。。。
没结束可能
2015-04-20 08:08
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
12
楼
得分:0
以下是引用
hu9jj
在2015-4-20 07:43:41的发言:
并没有“为止”,而是无限循环下去。
可以的,不要忘记还有两个过程:
CREATE CURSOR dd (f1 I)
DO WHILE EOF()
DO ssqs
DO xjqs
LOOP
ENDDO
? "出来了"
PROCEDURE ssqs
*直到有记录并记录指针指向有效记录
APPEND BLANK
ENDPROC
PROCEDURE xjqs
ENDPROC
2015-04-20 11:06
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
13
楼
得分:0
一起手就学SQL查询的,楼主脑中根本没有数据表指针模型及其运动的概念,怎麽可能给他解释得清楚。代劳了吧。
[
本帖最后由 TonyDeng 于 2015-4-20 11:51 编辑
]
授人以渔,不授人以鱼。
2015-04-20 11:49
hu9jj
来 自:红土地
等 级:
贵宾
威 望:
396
帖 子:11713
专家分:43267
注 册:2006-5-13
第
14
楼
得分:0
以下是引用
吹水佬
在2015-4-20 11:06:31的发言:
可以的,不要忘记还有两个过程:
CREATE CURSOR dd (f1 I)
DO WHILE EOF()
DO ssqs
DO xjqs
LOOP
ENDDO
? "出来了"
PROCEDURE ssqs
*直到有记录并记录指针指向有效记录
APPEND BLANK
ENDPROC
PROCEDURE xjqs
ENDPROC
问题是enddo没有执行的机会吧?
活到老,学到老! http://www. E-mail:hu-jj@
2015-04-20 13:43
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
15
楼
得分:0
回复 14楼 hu9jj
是否退出,是在while处检查的,不是enddo处。问题的关键,是执行那两个do过程表指针被移动到哪里去了!
授人以渔,不授人以鱼。
2015-04-20 13:48
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
16
楼
得分:0
EOF(),仅在表记录指针越出最後一条记录时为真,所有不适用skip的指令,都不会让这种情形出现,这就是楼主所询问死循环的原因。换言之,他在那两个过程中,一定是用SQL类指令的,而不是传统的do while !eof()/skip/enddo模式,看1楼代码基本上也能看出来,除了goto top、delete all,估计他也只会total for、sum之类,从没用过skip的。
[
本帖最后由 TonyDeng 于 2015-4-20 13:57 编辑
]
授人以渔,不授人以鱼。
2015-04-20 13:55
wangzhiyi
等 级:
贵宾
威 望:
34
帖 子:366
专家分:684
注 册:2014-4-9
第
17
楼
得分:0
以下是引用
l87233203
在2015-4-19 15:22:31的发言:
IF FOUND()
IF s>=k*1.06
A1=K
DO ssqs
DO WHILE EOF()
DO xjqs
DO ssqs
LOOP
ENDDO
ELSE
A2=K
DO xjqs
DO WHILE EOF()
DO ssqs
DO xjqs
LOOP
ENDDO
ENDIF
ELSE
RETURN
ENDIF
过程SSQS和 XJQS到底是干什么用的?原程序呢?好好学习下DO循环,什么时候该用LOOP,如何结束循环。
2015-04-20 15:25
lihuibiaozs
等 级:
论坛游民
帖 子:6
专家分:17
注 册:2015-4-7
第
18
楼
得分:5
DO WHILE EOF() 能遍历表吗?
应是:
DO WHILE !EOF()
......
SKIP
ENDDO
很好! 我也看漏了循环条件 !EOF()
2015-04-20 21:26
bccn201304
等 级:
论坛游侠
帖 子:56
专家分:154
注 册:2013-4-21
第
19
楼
得分:0
不知道楼主在循环中做了些什么,两个 DO XXX 只有他自己明白干啥了
2015-04-22 12:24
l87233203
等 级:
新手上路
帖 子:25
专家分:0
注 册:2015-3-8
第
20
楼
得分:0
回复 19楼 bccn201304
我问的是外面的循环。
没有问DO SSQS
和DO XJQS
2015-04-23 19:24
22
2/3页
1
2
3
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-444240-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.344981 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved