数据记录的维护操作Word文档下载推荐.docx
- 文档编号:19528343
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:37
- 大小:26.41KB
数据记录的维护操作Word文档下载推荐.docx
《数据记录的维护操作Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据记录的维护操作Word文档下载推荐.docx(37页珍藏版)》请在冰豆网上搜索。
1、掌握工作区以及多工作区的使用方法;
2、掌握表菜单下的命令操作;
3、掌握表菜单下的命令操作对应的命令。
教学主要内容
教学方法
时间分配
【学习目标】
知识点:
1.熟悉工作区的概念。
2.掌握工作区的使用方法。
3.掌握多工作区的使用。
4.掌握在当前工作区操作其他工作表的方法。
●技能点:
1.会选择工作使用表。
2.会切换工作区使用表。
3.在当前工作能够对其他工作区表进行操作。
第一节、工作区的的使用
一、工作区的概念与多表的使用
在以前版本中一直沿用了多工作区的概念,在每个工作区中可以打开一个表,即在一个工作区中不能同时打开多个表。
如果在同一时刻需要打开多个表,则只需要在不同的工作区中打开不同的表就可以了。
VisualFoxPro最多可以同时打开32767个数据表,每个打开的表都要在存储器中开辟一个存储区域,我们把这个存储区域叫做工作区。
所以可知VisualFoxPro为数据表提供了32767个工作区。
用USE命令打开表时,系统默认使用1号工作区。
而且每当使用USE命令打开表时,VisualFoxPro会先将此工作区原先已打开的表关闭。
由此可知,假如希望同时打开多个表,必须先选择工作区。
USE命令中的[INWorkArea]选项可以指定工作区,专门选择工作的命令是:
SELECTnWorkArea|cWorkArea|cTableAlias
在VisualFoxPro中规定工作区编号是1~32767,只有前10个工作区有固定的名称,分别是A~J。
工作区别名是指定工作区中打开的数据库表别名。
举例来说,假设有学生及成绩两个表,并且希望同时打开它们,则在命令窗口中执行下列命令:
CLOSEDATABASEALL
OPENDATABASE学生管理
SELECT1
USE学生
SELECT2
USE成绩
在USE命令中加入选项同样可以同时打开表学生及成绩。
执行命令如下:
CLOSEDATABASESALL
USE学生IN1
USE成绩IN2
由上面的练习发现,IN参数能使在不离开当前所在工作区的情况下,在别的工作区打开表。
前面我们曾经提到过,未加入任何参数的USE命令,能够关闭当前所在工作区中已打开的表文件。
而搭配IN参数的使用,则能够让在不离开当前所在工作区的情况下,关闭别的工作区中已打开的表。
在前面的例子中,学生表在工作区1中,成绩表打开在工作区2中,而当前工作区仍然是1号工作区。
假设希望工作区2位于当前工作区,可以用SELECT命令实现。
看下面的命令:
SELECTB
注意:
我们通常称当前所在的工作区为当前工作区,而打开于当前工作区的表则称为当前表(或活动表)。
在某些时候,可以同时打开了好几个表,甚至搞不清楚哪些工作区已打开,而哪些尚未打开。
为了避免发生这种情况,建议每次都在被占用的最小号工作区中打开表。
什么是被占用的最小号工作区呢?
举例来说,假设已经在第1号与第3号工作区中打开表,而未被占用的最小号工作区就是2号工作区。
选择未被占用的最小号工作区可以使用下列两种方法:
1使用SELECT0命令
每次打开数据表前,先执行SELECT0命令。
系统便会选择未被占用的最小号工作区为当前工作区。
例如,
SELECT3
SELECT0
USE课程
2使用IN选项
直接使用添加了IN0选项的USE命令打开表。
例如:
USE成绩IN3
USE课程IN0
二、表的别名
选用最小号工作区打开表,很可以使我们一时不知道该表占用的工作区编号或名称。
在这种情况下,我们该如何切换工作区呢?
其实在前面介绍的SELECT命令语法中,也可利用工作区中打开表的别名(Alisas)来选择工作区。
而表的别名可以在用USE命令打开表时指定,若不指定则默认为表原名就是别名。
例如,假设我们分别在工作区1与工作区2中打开表学生与成绩,如下所示:
若想切换回第1号工作区,只要执行命令:
SELECT学生
而若想再切换回第2号工作区,只要执行命令:
SELECT成绩
可在USE命令中使用ALIASAliasName参数来指定表的别名,例如:
USE学生ALIASSTUDENT
USE成绩ALIASSCORE
必须注意的是,一旦指定了别名,则必须利用别名切换工作区。
所以此时若想切换回第1号工作区中,必须执行命令:
SLECTSTUDENT
想再切换回第2号工作区中,必须执行命令:
SELECTSCORE
各个工作区中已打开的表的别名不可重名。
三、直接操作非当前工作区的字段
VisualFoxPro也允许在当前工作区,直接操作其他工作区中已打开表的字段。
但是请使用下面的引导格式。
别名.字段名称或别名->
字段名
举例来说,假设我们在工作区1中打开了表学生,在工作区2中打开了表成绩.2号工作区是当前工作区,假如希望要浏览表学生中学号与姓名字段的内容,请键入如下命令:
?
学生.学号,学生.姓名
CLOSEDATABASES
利用“别名.字段名称”的格式,可以让您清楚地指出,此字段是哪一个工作区中表的字段.如果在字段名称前不加别名引导,表示它为当前工作区的当前表字段。
四、重复打开同一个表
VisualFoxPro允许在不同的工作区中,同时打开同一个表文件,这种操作必须在USE命令中增加选项AGAIN。
假设我们希望同时在三个工作区中打开表学生,可使用下列方式。
CLOSEDATABASEALL
OPENDATABASE学生
SELECT0
USE学生
USE学生AGAIN
USE学生IN0AGAIN
在不同的工作区中重复打开同一个表时,假如我们没有指定别名的话,则第一次以表名作为别名,再次重复打开时则以工作区名作为别名。
如果前10个工作区中打开,那么别名则分别可能是A~J;
如果在11~32767号工作区打开,则别名分别可能是W11~W32767。
让我们看看下面的实例。
CLOSEALL
OPENDATABASE学生管理
SELECT1
?
ALIAS()
学生
SELECT2
B
SELECT10
J
C
SELECT11
W11
SELECT30
W30
SELECT32767
W32767
30分钟
(详讲)
20分钟
1.显示表的结构
2.显示表的记录
1.用命令显示表结构。
2.用命令显示数据记录。
第二节、数据表的显示
一、显示表结构
一、
可以使用命令来查阅当前表的结构。
命令如下:
LISTSTRUCTURE或DISPLAYSTRUCTURE
LIST命令以连续输出方式显示表结构,DISPLAY命令以分页的方式显示表结构。
比方说,想要列出表学生的结构,可以这样:
LISTSTRUCTURE
如果在使用LISTSTRUCTURE命令前,还没有打开表,屏幕会出现一个“打开”对话框,提示先选择并打开一个表。
假如您希望将表的结构用打印机打印出来,只要在LISTSTRUCTURE命令中加入TOPRINTER关键字即可,例如:
LISTSTRUCTURETOPRINTER
或许希望将表的结构存储到一个文本文件中,请在LISTSTRUCTURE命令中加入TO参数,例如:
LISTSTRUCTURETO
该命令将表学生的结构复制到文本文件TEST.TXT中(.TXT为默认扩展名)。
二、显示表记录
二、
⏹LIST命令
语法:
LIST
[[FIELDS]FieldList]
[Scope][FOR][Expression1][WHILEExpression2]
[OFF]
[NOCONSOLE]
[NOOPTIMIZE]
[TOPRINTER[PROMPT]|TO]
⏹DISPLAY命令
LIST命令与DISPLAY命令都可用来显示表的数据记录,它们的语法也基本相同。
我们将详细介绍LIST命令的使用方法,然后再说明DISPLAY命令与LIST命令的差异。
但要注意的是,在使用LIST命令或DISPLAY命令之前必须先使用USE命令打开表文件。
假设我们想显示表学生的数据内容,在命令唇膏口中执行下列命令:
LIST
结果屏幕上会出现表学生的所有记录。
我们发现没有参数的LIST命令,显示了当前表中的所有记录,而且在首行显示出各字段名称的序列。
如果不希望将字段名显示出来,请先执行状态控制命令SETHEADINGOFF。
SETHEADINGOFF
那么,屏幕上显示表学生的所有记录时,字段名将不被显示。
如果希望恢复字段名的显示,可在命令窗口中执行下列命令:
SETHEADINGON
(1)显示指定字段内容
如果只想显示部分字段的内容,请使用FIELDSFidldList(关键字FIELDS可省略),其中FidldList即为字段名称系列,而各个字段名称之间请使用逗号分隔。
假设我们只想显示表学生中“学号”“姓名”及“性别”三个字段的内容,请在命令窗口中输入下列命令:
LIST学号,姓名,性别
各个字段之间用逗号来分隔。
(2)指定记录显示范围
利用Scope参数可以限定显示记录的范围,此范围值如下:
RECOREnExpr:
表示指定仅显示第nExpr条记录。
NEXTnExpr:
表是指定仅显示从当前记录开始的nExpr条记录。
REST:
表示指定从当前记录开始到表结尾的全部记录。
ALL:
表示指定显示所有的数据记录。
例如,
显示学生表的第5条记录。
CLEAR
LISTRECORD5
显示学生表中第1条至第3条数据记录。
LISTNEXT3
接着范例2,显示表学生中,从当前数据记录开始至表结尾的数据记录。
LISTREST
显示表学生中第5条记录的“姓名”及“院系”字段。
LIST姓名,院系RECORD5
(3)显示满足条件的全部记录
如果加入FORIexpression1的条件子句,则LIST命令会在指定范围内查找符合Iexpression1条件的记录,而且只有这些符合条件记录会被LIST命令显示出来。
将表学生中,学生姓名为“季节”的记录显示出来。
LISTFOR姓名=“季节”
将表学生中,显示院系中包含“中文”的记录显示出来。
LISTFOR“中文”$“院系”
将成绩表中,成绩介于70-80之间的记录显示出来。
LISTFOR成绩>
=70AND成绩<
=80
例如,
将学生表中,出生日期大于01-01-1985的记录显示出来.
LISTFOR出生日期>
{^1985-01-01}
将学生表中男学生的姓名字段值显示出来.
LISTFOR性别=“男”
(4)显示满足条件的连续记录
在LIST命令中,选项WHILE会从当前记录开始,逐一测试记录是否满足条件Iexpression2。
满足条件则显示该记录,一旦遇到不符合条件记录时,便立刻停止测试结束显示操作。
比较下面的两段程序的执行情况:
LISTWHILE性别=“男”
(5)不显示记录号
如果在LIST命令中加入选项OFF,则记录号将不被显示。
LIST姓名,院系,性别OFF
(6)打印输出
如果在LIST命令中加入选项TOPRINTER,LIST命令将会在把记录输出到屏幕的同时,也送到打印机打印出来。
LIST姓名,院系,性别TOPRINTER
(7)建立一个文本文件
如果在LIST命令中加入选项,LIST命令的输出将会存储至指定的文本文件中,此文本文件默认扩展名为.TXT。
LISTFOR姓名,院系,性别TO
(8)DISPLAY命令的差异
LIST命令默认操作范围是所有数据记录(即ALL),而DISPLAY命令的默认操作范围是当前数据记录(即NEXT1)。
当表中的数据记录太多,无法用一屏幕显示完时,DISPLAYALL命令会以分页方式显示,并提示用户继续。
而LIST命令则会连续显示,直到最后一行记录在屏幕上显示出来为止。
(9)用浏览窗口显示记录
对比LIST和DISPLAY命令在屏幕编辑区显示记录的方式,相信有不少用户更加怀念易学易用的浏览窗口方式。
其实使用命令方式也可以启动浏览窗口,只需执行BROWSE命令即可。
BROWSE
同样地,也可在BROWSE命令中假如FIELDS选项,从而仅浏览特定的字段,或使用FOR参数指定符合特定条件的记录。
以下是BROWSE命令几个最常用的用法示范。
浏览学生表中,所有学生的“学号”、“姓名”、“院系”及“出生日期”。
BROWSEFIELDS学号,姓名,院系,出生日期
浏览学生表中,院系是中文系的学生数据。
BROWSEFOR“中文”$院系
浏览学生表中,中文系女生的姓名。
BROWSEFIELDS姓名FOR“中文”$院系AND性别=“女”
10分钟
5分钟
(略讲)
3.记录指针的操作
4.数据记录的搜索
3.用命令实现记录指针的操作。
4.用命令进行数据记录的搜索。
第三节、数据记录的查询
一、记录指针的操作
当我们输入表记录时,按照记录输入的先后次序,系统自动为每一条记录赋予了记录号。
表中也存在着一个与“记录号”对应的指针。
随着记录操作的变动,记录指针也随之变化。
任何时候,记录指针总是指向某一条记录,这条记录就叫做当前记录。
使用USE命令打开表以后,记录指针指向第一条记录。
对数据记录指针的操作可以使用“表”菜单中的“转到记录”命令,其中有“第一个”、“最后一个”、“上一个”、“下一个”命令,可以在表中移动记录指针。
在这里详细介绍如何使用命令来操作记录指针。
对记录的任何操作,只能对当前记录起作用。
很多命令(如LIST等)都可以自动控制记录指针,如果必要,也可以使用GO、GOTO及SKIP命令直接移动记录指针,从而选择当前操作的记录。
接下来是这些命令的详细使用说明。
⏹GO命令
命令语法:
GOnRecordNumber[INnWorkArea|INcTableAlias]
GOTOP|BOTTOM[INnWorkArea|INcTableAlias]
NRecordNumber参数是记录号,在命令窗口中执行GO命令,记录指针将移至给定记录号的记录上。
假设要将记录指针移至第4条记录,请键入下列命令:
GO4
DISPLAY
如果想将记录指针移至第一条记录上,请添加参数TOP;
如果想将记录指针移至最一条记录上,请添加参数BOTTOM。
GOBOTTOM
GOTOP
利用INnWorkArea或INcTableAlias子句,也可以移动其他工作区中表的记录指针。
其中nWorkArea可以是工作区数字编号,cTableAlias则可以是工作区的别名或工作区名。
CLOSEDATABASESALL
USE学生IN0
USE成绩IN0
?
RECNO()
4
GO3IN2
RECNO
(2)
3
注意:
RECNO()函数会返回当前记录指针所指向记录的编号,其语法是;
RECNO([nWorkArea|cTableAlias])。
参数nWorkArea与cTableAlias可以指示RECNO()函数检查其他工作区。
GOTO命令与GO命令完全相同。
⏹SKIP命令
SKIP
[nRecords]
[INnWorkArea|INcTableAlias]
SKIP命令可以将记录指针相对与当前记录,往前或往后移动若干条记录。
没有任何参数SKIP命令相当于SKIP1命令,会将记录指针下移一条记录。
CLOSEDATABASES
1
SKIP
2
如果选项nRecords为正数,则记录指针会从当前记录向下移动;
如果选项nRecords为负数,则记录指针会从当前记录向上移动。
选项参数值是移动的记录条数。
SKIP5
5
SKIP–3
3
利用INnWorkArea或INcTableAlias子句,SKIP命令也可以移动其他工作区的记录指针。
NWorkArea可以是工作区数字编号,cTableAlias则可以是工作区的别名,或工作区名。
OPENDATABASE学生管理
SKIP4IN成绩
RECNO(“学生”)
⏹测试函数
在数据表第一条记录之前是表的起始位,而在最后一条记录之后则是表的结束位。
当记录指针已经指向第一条记录时,再用SKIP–1命令移动指针,将会使记录指针移至表的起始位。
但是利用RECNO()函数查看当前记录号,会发现记录号仍然是1。
若再次执行记录指针SKIP–1命令,系统将会提示出错信息。
为了防止出错,在程序中常会利用BO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 记录 维护 操作