版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,第5讲 表的维护命令,5.1 VFP常用命令子句 5.2 表结构的操作命令 5.3 表数据的操作命令 5.4 表记录的操作命令 5.5 习题,VFP的命令总是由一个称为命令字的动词开头,后随一个宾语和若干子句(称为命令子句),用来说明命令的操作对象、操作结果与操作条件。,5.1 VFP常用命令子句,常用命令子句,在VFP6.0中,、FOR 、WHILE子句对应关系操作中的选择操作;FIELDS 子句对应投影操作。,5.1 VFP常用命令子句,范围子句:确定执行该命令所涉及的记录,有4种限定方法:,ALL 所有记录(LIST 默认为ALL, DISPLAY默认为当前记录) NEXT 从当前记录
2、起的N个记录 RECORD 第N个记录 REST 从当前记录起到最后一个记录止 的所有记录,FOR子句:指定选择记录的条件。可与范围子句配合使用。,例:USE sb GO 2 LIST NEXT 5 FOR 价格10000,5.1 VFP常用命令子句,WHILE子句:在当前记录符合条件时开始依次筛选记录,一旦遇到不满足条件的记录就停止,比FOR条件优先。,5.1 VFP常用命令子句,FIELDS子句:确定要操作的字段。保留字FIELDS省略时显示除备注型、通用型字段外的所有字段。,OFF子句:不显示记录号。,例:LIST RECORD 5 FIELDS 编号,名称,价格,例:按下列要求显示SB
3、.DBF的有关信息。 1)列出前3个记录; 2)列出部门代码为21的编号、名称与备注; 3)列出1995年前所启用设备的编号、名称、价格与启用日期,并且要求其中的价格打9折,不显示记录号。,5.1 VFP常用命令子句,解:USE SB LIST NEXT 3 LIST 编号,名称,备注 FOR 部门”21” LIST 编号,名称,价格*0.9,启用日期 FOR YEAR(启用日期)1995 OFF,注意:命令子句中的表达式可以是简单的一个算术表达式或逻辑表达式,也可以是比较复杂的复合表达式。,5.1 VFP常用命令子句,1) 命令动词与子句、子句与子句、子句内的各部分之间必须用空格隔开,子句顺
4、序随意; 2) 命令动词与各子句中的保留字,包括函数名都可简写为前4个字符。英文字母不区分大小写。但易混淆时不能简写(例:LOCAL和LOCATE) 3) 一行命令长度可达8192(?)个字符,一行写不下,用续行符“;”,并按回车键; 4) 命令或函数格式中的“”表示二者选一,“ ”表示可选项,“”表示由用户定义的内容。,命令和子句的书写规则,5.2 表结构的操作命令,建立一个由表示的表:,CREATE TABLE ( (,) ,),例:建立设备大修表DX.DBF。 解:CREATE TABLE dx (编号 c(5), 年月 c(4), 费用 n(6,1) LIST STRUCTURE &主
5、窗口显示DX.DBF的结构 INSERT INTO DX VALUES (“016-1”, “8911”, 2763.5) INSERT INTO DX VALUES (“016-1”, “9112”, 3520.0) INSERT INTO DX VALUES (“037-2”, “9206”, 6204.4) INSERT INTO DX VALUES (“038-1”, “8911”, 2850.0) LIST OFF,5.2 表结构的操作命令,修改表示的表的结构 :,ALTER TABLE ADDALTER COLUMN ( ,),ALTER TABLE DROP COLUMN REN
6、AME COLUMN TO ,例: ALTER TABLE DX ADD 摘要 m(4),例: ALTER TABLE DX DROP 摘要,交互方式修改表结构的命令: MODIFY STRUCTURE,显示表结构命令:DISPLAY/LIST STRUCTURE,5.2 表结构的操作命令,复制表结构的命令:,COPY STRUCTURE TO FIELDS 说明:仅复制表结构,不复制数据,FIELDS子句指明新表包含的字段,同时也决定了这些字段在新表中的排列次序。该命令须先打开表。,例: USE sb COPY STRUCTURE TO sb2 FIELDS 名称,价格,编号,备注,例:US
7、E xsqk.dbf COPY STRUCTURE TO xscj FIELDS no,note USE xscj &打开新建的表 DISPLAY STRUCTURE &显示表结构,5.3 表数据的操作命令,复制表数据的命令:对已有的表进行复制以得到它的副本,是保护数据安全的措施之一。,1)无条件复制:COPY FILE TO ,说明:单个文件复制,表须处于关闭状态,和都可使用通配符*,?。 “?”代表单个字符,“*”代表一个或多个字符。,例:USE COPY FILE SB.DBF TO SB1.DBF COPY FILE SB.FPT TO SB1.FPT,5.3 表数据的操作命令,2)有
8、条件复制:COPY TO FOR WHILE FIELDS FIELDS LIKE FIELDS EXCEPT TYPE SDFXLSDELIMITEDWITH WITH BLANKWITH TAB,说明:对有备注型字段的表,在复制DBF文件时自动复制.FPT文件。复制的文件类型可以是表,也可以是系统数据格式(SDF,数据间无定界符和分隔符)、EXCEL文件(XLS)或文本文件(TXT,不带WITH的DELIMITED表示逗号作分隔符,双引号为定界符;DELIMITED WITH 表示用指定字符作定界符,逗号作分隔符;DELIMITED WITH BLANK表示用空格作分隔符,没有定界符;DE
9、LIMITED WITH TAB表示用制表符作分隔符,双引号为定界符)。文本文件是ASCII字符文件,只有数据没有结构。,5.3 表数据的操作命令,例: USE SB COPY TO A1 &对SB表原样复制,生成A1.DBF和A1.FPT COPY TO A2 FIELDS 名称,编号 FOR LEFT(部门,1)“2”,例:以系统数据格式将sb.dbf的前3个记录复制到文本文件。 USE SB.DBF COPY TO B1 NEXT 3 SDF &以系统数据格式复制,产生文本文件B1.TXT TYPE B1.TXT (P58),要对复制的新表进行操作,必须将其打开才行; LIST USE
10、A2 LIST,5.3 表数据的操作命令,表数据的替换命令:,成批替换:REPLACE WITH ADDITIVE , WITH ADDTIVEFOR WHILE ,说明: ADDTIVE用于备注型字段,省略范围与条件,只对当前记录有效。须先打开表。(P60),例: USE SB REPLACE 价格 WITH 价格1000,部门 WITH “11” FOR 主要设备 APPEND BLANK REPLACE 编号 WITH “301-1”,名称 WITH “扫描仪”,5.3 表数据的操作命令,表数据的传送命令:,1) 单个记录传送到数组或内存变量:SCATTER FIELDS FIELDS
11、LIKE FIELDS EXCEPT MEMO TO BLANK MEMVAR BLANK,说明: 将当前记录的字段值按顺序依次送入数组元素中,或依次送入一组内存变量。 使用MEMVAR能将数据复制到一组内存变量中,这些内存变量由系统自动建立,每一个内存变量与相应字段的名称、类型、大小完全相同,为与字段变量相区分,使用时可在其前加上m。这种内存变量的实用性表现在表关闭之后 。,5.3 表数据的操作命令,BLANK子句表示建立一组空的内存变量。 MEMO表述包含备注型字段。数据以列出的字段为准,内 存变量或数组会自动建立或扩充。 使用TO 子句能将数据复制到所示的数组元素中。VFP会自动建立数组
12、,或自动扩大虽已存在但不够大的数组。 若缺省FIELDS子句,只传送除备注型字段外的所有字段值。若要传送备注型字段值,还需使用MEMO选项。,例:USE SB GO 5 SCATTER MEMVAR ?m.编号,m.名称,m.价格,5.3 表数据的操作命令,2)将数组或内存变量的数据传送到单个记录:GATHER FROM MEMVAR FIELDS FIELDS LIKE FIELDS EXCEPT MEMO,说明:该命令将数组或内存变量的数据依次传送到当前记录,以替换相应字段值。由于GATHER命令是将数据传送到当前记录,故修改记录前需确定记录指针位置。 若数组元素多于字段数,则多出的数组元
13、素不传送;若数组元素少于字段数,则多出的字段其值不会改变。 内存变量值将传送给与它同名的字段,若某字段无同名的内存变量则不对该字段进行数据替换。 若使用FIELDS子句,仅中的字段才会被数组元素替代。缺省MEMO子句时,该命令将忽略备注型字段。即使包含MEMO子句,该命令也忽略通用型字段。,5.3 表数据的操作命令,例: USE SB GO 4 SCATTER TO A MEMO &第4个记录(包括备注型字段)的数据传送给数组A ?a(1), a(2), a(4), a(7) & 显示:038-1 钻床 5275.00 1997年12月封存 a(4)=6000 GATHER FROM a DI
14、SPLAY,注意:SCATTER与GATHER命令只能在表的单个记录与数组之间进行数据传送。,5.3 表数据的操作命令,3)将表的一批记录复制到数组:COPY TO ARRAY FIELDS FOR WHILE ,说明: 将当前表选定的数据复制到表示的数组之中,但不复制备注型字段。 若命令中指定的数组不存在,VFP会自动建立它。可以将单个记录的数据复制到一维数组中。 能将当前表的多个记录复制到二维数组中。复制时一行存储一个记录。若数组列数少于字段数,则多余字段的数据将被忽略。若多于字段数,则多于的列元素其值不变。 若数组行数少于选定的记录数,则多出的记录便不复制,若多于记录数,则剩下的数组行各
15、元素值不变。 若数组事先已定义,该命令不再调整它的大小。,5.3 表数据的操作命令,例: USE SB DIMENSION jz(2,3) & 建立2行3列的二维数组jz COPY TO c1 FIELDS 编号,价格,启用日期,名称 & C1.DBF有4个字段 COPY TO ARRAY jz FOR 价格10000 FIELDS 编号,价格,启用日期 &满足条件的记录有5个,但仅可复制2个记录到数组 ? jz(1,1), jz(1,2), jz(1,3), jz(2,1), jz(2,2), jz(2,3),5.3 表数据的操作命令,4)从数组向表追加记录:APPEND FROM ARRA
16、Y FOR FIELDS,说明: 将满足条件的数组行数据按记录依次追加到当前表中,但忽略备注型字段。 可以是一维或二维数组,每一行对应一个新记录。而且,APPEND FROM 是在表尾追加记录,而GATHER是在当前记录替换数据。 若数组列数多于字段数,多余列的数组元素将被忽略,反之,若字段数多于数组列数,多出的字段留空。,例:USE C1 APPEND FROM ARRAY JZ & 从数组JZ追加记录到C1.DBF LIST &JZ仅两行,故C1追加2个记录,JZ仅3列,而C1有4个字段,故第4个字段留空,5.3 表数据的操作命令,5)逻辑表的设置 使用命令子句来实现数据选择仅在执行该命令
17、时生效一次。使用过滤器和字段表等逻辑表的好处是,一旦为一个表设置逻辑表后,则对该表执行任何操作时一直有效,直至撤消逻辑表为止。,过滤器(记录级筛选):使用过滤器可以将不满足条件的记录“遮蔽”起来,即让这些记录在逻辑上消失,当操作完以后,再去掉过滤器来恢复这些记录,这样做可以避免对每一命令都输入相同的条件,节省人力和时间。,说明:该命令从当前表过滤出符合的记录,不符合的记录将被“遮蔽”,随后的操作仅限于满足过滤条件的记录。,格式:SET FILTER TO ,5.3 表数据的操作命令,例:只浏览“xsqk.dbf”表中的女生记录。 USE “xsqk.dbf” SET FILTER TO xsq
18、k.sex = “女” BROWSE,例: USE SB SET FILTER TO YEAR(启用日期)=1990 AND YEAR (启用日期)=1995 LIST &只显示19901995年的记录 SET FILTER TO & 取消过滤器 LIST & 全部显示,5.3 表数据的操作命令,字段表(字段级筛选):用于限定命令操作能作用的字段。,格式:SET FIELDS TO ,ALL LIKE EXCEPT ,说明:SET FIELDS TO命令用来为当前表设置字段表,ALL表示所有字段都在字段表中;,格式:SET FIELDS ONOFF,说明:决定字段表是否有效,ON状态时,只能访
19、问字段表所列的字段,此时其他字段就像不存在一样。SET FIELDS TO命令自动置ON,OFF表示取消字段表,恢复到原来的状态,系统默认为OFF状态。,5.3 表数据的操作命令,例:只浏览“xsqk.dbf”表中的女生记录的“no”、“name”、“birth”三个字段。 USE “xsqk.dbf” SET FILTER TO xsqk.sex = “女” SET FIELDS TO xsqk.no, , xsqk.birth BROWSE,例:对SB.DBF设置字段表,有效字段为编号、名称、部门。 USE SB SET FIELDS TO 编号,名称,部门 LIST &
20、 显示3个字段的数据 SET FIELDS OFF & 取消字段表的作用 LIST & 显示所有字段的数据,5.4 表记录的操作命令,表记录的浏览命令:,格式:BROWSE FIELDSLOCK FREEZE &打开浏览窗口,例: BROWSE命令应用示例。 USE xsqk BROWSE FIELDS no,name,sex,birth FREEZE name &冻结字段 BROWSE LOCK 2 &浏览表,锁定左端两个字段的内容,5.4 表记录的操作命令,表记录的显示命令:,LIST /DISPLAY,例:显示“xsqk.dbf”表中所有学生的“no”,“name”,“sex”和“bir
21、th”。 USE xsqk LIST ALL FIELDS no,name,sex,birth USE,5.4 表记录的操作命令,表记录的定位命令:,格式:GO TO TOPBOTTOM 或者 GO TO ,说明: 记录定位就是将记录指针指向某个记录,使之成为当前记录。表打开时,记录指针总是指向第一个记录。 GO TOPBOTTOM 是将记录指针指向表的第一个或最后一个记录;GO 是将记录指针指向表的某记录,指出该记录的记录号。,5.4 表记录的操作命令,表记录的移位命令:,格式:SKIP ,说明:从当前记录开始移动记录指针,表示移位记录的个数。负值表示向文件头移位,正值表示向文件尾移位,缺省
22、相当于其值为1。当前记录号为1时,SKIP -1到达文件头。,5.4 表记录的操作命令,例:USE SB ?RECNO( ) GO BOTTOM ?RECNO( ) GO 4 ?RECNO( ) 2 ?RECNO( ),例:USE SB ?RECNO( ) ,BOF( ) &1,.F. SKIP -1 ?RECNO( ) &.T.,1 SKIP 6 ?RECNO( ),EOF( ) &7,.F. SKIP ?RECNO( ) ,EOF( ) &8,.T.,5.4 表记录的操作命令,插入新记录命令:,格式:INSERT BLANK BEFORE,说明: 使用BEFORE子句能在当前记录之前插入新
23、记录,缺省该子句表示在当前记录之后插入新记录; 使用BLANK子句立即插入一条空白记录,缺省该子句则出现记录编辑窗口,等待用户输入记录。,5.4 表记录的操作命令,追加新记录命令(一):,格式:INSERT INTO 表名(字段名1,字段名2, ) VALUES (表达式1 ,表达式, ),说明:在表尾追加一个新记录,并直接馈入记录数据;表不必事先打开,字段与表达式的类型必须相同;若字段名全部缺省,就须按表结构字段顺序填写VALUES子句的所有表达式;追加新记录时还可将数组或内存变量的值填入该记录中。,例: INSERT INTO SB ( 编号,名称,启用日期,价格,主要设备,备注 ); V
24、ALUES(“110-1”,“打印机”,08/15/97,5000.00,.F.,“调拨”),追加新记录命令(二):,5.4 表记录的操作命令,格式:APPEND BLANK,说明: APPEND命令可在表尾追加记录,但它只可追加空白记录或以交互方式填写记录数据。 使用BLANK子句能在表尾追加一条空白记录,留待以后填入数据;若缺省BLANK子句就会出现记录编辑窗口,并且窗口内会有空白的记录位置,等待用户输入数据。,5.4 表记录的操作命令,追加新记录命令(三):,格式:APPEND FROMFIELDS FOR TYPEDELIMITEDWITH WITH BLANKWITH TABSDFXLS,说明:该命令用于追加成批记录,从指定文件提取一批记录追加到当前表的末尾。源文件类型可以是表,也可以是系统数据格式、定界格式等文本文件,或EXCEL文件;执行该命令时,源文件不需打开。,例:USE SB APPEND FROM A1 FIELDS 名称,价格 APPEND FROM b1 SDF,5.4 表记录的操作命令,表记录的删除命令:,1)记录逻辑删除命令,格式:DELETE FOR WHILE ,说明:该命令对当前表在指定内满足的记录加上删除标记。若可选项都缺省,只指当前记录。已逻辑删除的记录,LIST时其第一个字段左侧显示删除标记*号。,2)记录物理删除命令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 四川事业编会计岗 结构化面试 含答案
- 事业编综合管理岗 面试答题思路 含答案解析
- 河南事业编计算机岗 历年真题 含答案
- 床上移动课件
- 超市写生课件
- 厨师未来规划课件
- 超声雾化吸入护理课件
- 超市收银培训课件
- 超市授课课件
- 超市市场方案课件
- 黄金店安全责任制度
- 2026年辽宁铁道单招测试题附答案
- 股骨颈骨折临床诊疗指南
- 医疗药品使用管理制度题库(3篇)
- 绵阳中学2026届高一化学第一学期期中质量跟踪监视模拟试题含解析
- 灯箱维修施工方案
- 读后续写题型讲解课件-高中英语人教版第一册
- 铁路防断培训课件
- 2025年gsp药品批发企业质量风险管理试题及答案
- 药物制剂技术专业教学标准(高等职业教育专科)2025修订
- 泡沫厂生产管理制度
评论
0/150
提交评论