| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1592 人关注过本帖
标题:请各位帮我解答一下这条程序的运行结果
只看楼主 加入收藏
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:4 
create TABLE c:\xsk(xh c(8),xm c(8),xb c(2),csrq d)
insert into xsk(xh,xm,xb,csrq) values('20020101','李小飞','男',{^1982-07-08})
insert into xsk(xh,xm,xb,csrq) values('20020201','王美英','女',{^1983-05-01})
insert into xsk(xh,xm,xb,csrq) values('20020102','张欣','女',{^1983-09-20})
insert into xsk(xh,xm,xb,csrq) values('20020303','王小平','男',{^1984-08-06})
insert into xsk(xh,xm,xb,csrq) values('20020204','赵丽娟','女',{^1981-08-01})
insert into xsk(xh,xm,xb,csrq) values('20020301','高军','男',{^1983-10-25})
BROWSE
use
set talk off
clear
dimension a(2)
use c:\xsk excl in 0
brow
?xh,xm,xb,'use'
index on xm to ixm
brow
?xh,xm,xb,'index'
go 3
?xh,xm,xb,'go 3'
SKIP
?xh,xm,xb,'skip'
scatter to a
?xh,xm,xb,'scatter'
go top
?xh,xm,xb,'go top'
gather from a
?xh,xm,xb,'gather'
use
set talk on
return
我测试结果是 ,赵丽娟,可能和排序有关系
CREATE前的排序为
图片附件: 游客没有浏览图片的权限,请 登录注册

INDEX的排序为
图片附件: 游客没有浏览图片的权限,请 登录注册

运行结果
图片附件: 游客没有浏览图片的权限,请 登录注册

2016-06-29 09:11
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
总结,是不是运行 gather命令后,指针就到最后,赵丽娟是index后的最后记录
2016-06-29 09:13
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-06-29 09:27
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
程序代码:
clear
create TABLE c:\xsk(xh c(8),xm c(8),xb c(2),csrq d)
insert into xsk(xh,xm,xb,csrq) values('20020101','李小飞','',{^1982-07-08})
insert into xsk(xh,xm,xb,csrq) values('20020201','王美英','',{^1983-05-01})
insert into xsk(xh,xm,xb,csrq) values('20020102','张欣','',{^1983-09-20})
insert into xsk(xh,xm,xb,csrq) values('20020303','王小平','',{^1984-08-06})
insert into xsk(xh,xm,xb,csrq) values('20020204','赵丽娟','',{^1981-08-01})
insert into xsk(xh,xm,xb,csrq) values('20020301','高军','',{^1983-10-25})
* 索引前记录显示的是物理顺序
?" 索引前记录显示 "
list
go 3
?xm,recno()
SKIP
?xm,recno()
index on xm to ixm
* 索引后记录显示的数据是逻辑顺序,不是物理顺序
?" 索引后记录显示 "
list
?
?"-----------------------------"
go 3 && 指的是物理顺序
?xm,recno()
skip && 相对于前一条记录而言
?xm,recno()

运行上述代码,就知道正确结果是什么了

[此贴子已经被作者于2016-6-29 09:44编辑过]


坚守VFP最后的阵地
2016-06-29 09:43
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:0 
以下是引用sdta在2016-6-29 09:43:18的发言:

clear
create TABLE c:\xsk(xh c(8),xm c(8),xb c(2),csrq d)
insert into xsk(xh,xm,xb,csrq) values('20020101','李小飞','男',{^1982-07-08})
insert into xsk(xh,xm,xb,csrq) values('20020201','王美英','女',{^1983-05-01})
insert into xsk(xh,xm,xb,csrq) values('20020102','张欣','女',{^1983-09-20})
insert into xsk(xh,xm,xb,csrq) values('20020303','王小平','男',{^1984-08-06})
insert into xsk(xh,xm,xb,csrq) values('20020204','赵丽娟','女',{^1981-08-01})
insert into xsk(xh,xm,xb,csrq) values('20020301','高军','男',{^1983-10-25})
* 索引前记录显示的是物理顺序
?" 索引前记录显示 "
list
go 3
?xm,recno()
SKIP
?xm,recno()
index on xm to ixm
* 索引后记录显示的数据是逻辑顺序,不是物理顺序
?" 索引后记录显示 "
list
?
?"-----------------------------"
go 3 && 指的是物理顺序
?xm,recno()
skip && 相对于前一条记录而言
?xm,recno()
运行上述代码,就知道正确结果是什么了


出这个题的人,是不是有点神经病,如果是上机的话,应该可以;但如果是笔试,我相信,没几个人能排出 INDEX后的顺序来。
2016-06-29 13:40
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
啊,没有仔细看其中还有排序命令,回帖错了,抱歉!

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2016-06-30 07:06
快速回复:请各位帮我解答一下这条程序的运行结果
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032328 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved