|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 高手帮我看下,这是个怎么变成死循环了?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
1337
人关注过本帖
标题:
高手帮我看下,这是个怎么变成死循环了?
只看楼主
加入收藏
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
举报帖子
使用道具
赠送鲜花
吹水佬
等 级:
版主
威 望:
451
帖 子:10607
专家分:43182
注 册: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
来 自:红土地
等 级:
贵宾
威 望:
400
帖 子:11857
专家分:43421
注 册: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.(该域名已经被ISP盗卖了)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
快速回复:
高手帮我看下,这是个怎么变成死循环了?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.025423 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved