索引文件。
6.利用表设计器,对XSDA表建立索引:以“出生日期”作为关键字,以nl(年龄)作为索引标志,建立一个结构复合索引。
7.以独占方式打开XSDA表的同时打开单索引文件xhsy和xdhxbxhsy,并将 xhsy设置为主控索引。
8.以独占方式打开XSDA表的同时打开单索引文件xhsy和xdhxbxhsy,并将结构复合索引中的nl索引标记设置为主控索引。
9.在表XSDA已打开后,打开xhsy和xdhxbxhsy两个单索引文件,并且将xdhxbxhsy设置为主控索引,保持已打开的索引文件仍然打开。 10.将XSDA表中的主控索引由xdhxbxhsy.idx改为xhsy.idx。
11.将XSDA表的结构复合索引中的nl标记设置为主控索引,且设为降序。 12.统计XSDA表姓“李”和姓“王”的学生人数,并存入内存变量rs中。 13.统计XSDA表中的记录数,存入变量num。
14.求CJ表中学号为“0404060101”的学生的总成绩,存到变量zcj中。 15.求CJ表中课程号为“00000008”课程的所有学生的总成绩。 16.求CJ表中学号为“0404060101”的学生的平均成绩。
17.汇总CJ表中每个学生的所有课程的总成绩,汇总产生的新表名为CJ1,包含字段有学号和成绩。
18.汇总CJ表中每门课程的总成绩,汇总产生的新表名为CJ2,包含字段有课程号、开课学期和成绩。
注意:17-18小题汇总前需要先以汇总关键字建立索引,若索引已存在则确定其为主控索引即可。
(二)实验步骤
1.Use XSDA
Sort to XSDA 4 on 学号/D 2.Use XSDA
Sort to XSDA5 on 系代号/d,性别/a,学号 Use XSDA5 List
3. Use XSDA
Index on 学号 to xhsy 4. Use XSDA
Index on 系代号+性别+学号 to xdhxbxhsy 5. Use XSDA
Index on 学号 tag xhsy ascending
Index on 系代号+性别+学号 tag xdhxbxhsy descending 6. 操作步骤如下:
步骤一:打开XSDA表,然后再“显示”菜单中选择“表设计器”命令,打 开XSDA表的设计器,如图3.1所示。
13
图3.1“表设计器”中的“XSDA”表
步骤二:在“出生日期”字段属性栏中单击“索引”下的下拉列表框,选择“升序”,如图3.2所示。
图3.2选择“索引”下拉列表框
步骤三:在“索引”选项卡中,可以看到已经建立的索引(如图3.3所示),并且能够进一步设置索引的其他属性,如类型、筛选条件等。把这条以“出生日期”作为关键字的索引的“索引名”,改为“nl”作为索引标志,此结构复合索引创建完毕。
说明:若用index命令创建,命令如下: Use XSDA
Index on 出生日期 tag nl
注意:在“索引”选项卡中,第二条和第三条索引是我们第5题练习时创建的复合索引。
14
图3.3 “表设计器”中创建及查看索引
7. Use XSDA index xhsy,xdhxbxhsy exclusive
8. Use XSDA index xhsy,xdhxbxhsy order nl exclusive 9. Use XSDA
Set index to xhsy,xdhxbxhsy order xdhxbxhsy additive 10. Set order to xhsy
11.Set order to nl descending 或 Set order to tag nl descending 12.Use XSDA
Count for 姓名=\李\姓名=\王\?rs
13.Use XSDA
Count to num ?num
14.Use CJ
Sum 成绩 for 学号=\ ?zcj
或:Use CJ
Calculate sum(成绩) for学号=\ 15.Use CJ
Sum 成绩 for 课程号=\
或:Use CJ
Calculate sum(成绩) for 课程号=\16.Use CJ
Average 成绩 for 学号=\17.Use CJ
Index on 学号 tag xh
Total to CJ1 on 学号 fields 学号,成绩
15
Use CJ1
List(或者Browse)
说明:如果已经以学号建立索引(索引标识为xh),这里就不需要(Index On 学号 Tag xh)重新建立索引,只需用Set Order To xh 命令确定主控索引即可。
18.Use CJ
Index on 课程号 tag kch
Total to CJ2 on 课程号 fields 课程号,开课学期,成绩
Use CJ2 List
五、练习题
1.排序是按照表中的某些字段值的大小重新排列记录的顺序,这样的字段被称为(关键字)。
2.不允许记录中出现重复索引值的索引是(主索引)、(候选索引)、(唯一索引)。 3.索引的概念?
4.VFP6.0中的索引按功能如何分类?按文件类型又如何分类? 5.While和For两种条件子句的含义与区别?
练习题参考答案
5.For条件子句表示在范围内查找符合条件的所有记录;While条件子句表示从当前记录开始向下查找第一条符合条件的记录,但与For条件不同的是,While条件一旦遇到不符合条件的记录就停止搜索,For条件只跳过不符合条件的记录,继续向下查找。
16

