资源描述
按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,第五層,*,第,3,章,Visual,Foxpro,数据库及其操作,学习要点:,4.1,表的建立,4.2,数据表的打开、显示和关闭,4.3,表的修改与编辑,4.4,数据表的过滤,4.5,数据表的复制,重点与难点:,数据表的打开、显示和关闭,表的修改与编辑,数据表的过滤,数据表的复制,第四章 表的建立和操作,VFP,支持,2,种,使用方式:,交互方式,程序方式,VFP,将表分为,2,种,:,数据库表,自由表,4.1,表的建立,4.1.1,表结构的分析和设计,VFP,采用类似于二维的表格的关系型数据模型,表由,结构,和,数据,两部分组成。,如:,编号,名称,启用日期,价格,016-1,车床,1,1990-3-5,62044.61,016-2,车床,2,1992-1-15,27132.73,记录,字段,表名,每张数据表都有一个表名称,数据表就以表名称为主文件名,以,.DBF,为扩展名将数据存储在外部存储介质上。,表头(表结构),表头由若干标题栏目构成,每栏对应着表的一列,反映学生某一方面的情况。一列称为一个字段(字段也称为属性),确定表中的字段,主要是为每个字段指定名称、数据类型和数据宽度,这些信息也决定了数据在表中是如何被标识和保存的。,表的内容,内容由若干行组成,每行反映了某一学生的各方面情况,称为表的一个记录。,1,字段名,字段名用来标识字段,它是一个以字母、汉字或下划线开头,长度不超过,10,个的有效字符组成(数据库表字段名长度可达,128,个字节)。,2,字段类型与宽度,字段类型应与将要存储在其中的信息类型相匹配;字段宽度必须能够容纳将要显示的信息内容;若字段的类型是数值型或浮点型,还应给出小数位数。,字段类型与宽度,字段类型,字段宽度,取值范围,说 明,示 例,字符型,(C),最多,254,个字节,最多,254,个字符,数字、汉字、字母和图形符号,学生的学号、,姓名等,数值型,(N),最多,20,个字节,-9999999999E+19,+.9999999999E+20,小数点及正、负号各占一个字节,入学总分,浮点型,(F),同数据型,同数据型,主要为与其他软件兼容而设置,科学计算数据,货币型,(Y),8,个字节,-922337203685477.5808,+922337203685477.5807,与数值型不同的是数值保留,4,位小数,价格、金额,整型,(N),4,个字节,-21474836472147483646,不带小数点的数值,学生人数,双精度型,(B),8,个字节,+/-4.94065645841247E-324,+/-8.9884656743115E+307,双精度数字,实验所要求的高精度数据,日期型,(D),8,个字节,01/01/0001,到,12/31/9999,mm/,dd/yy,出生日期,日期时间型,(T),8,个字节,01/01/0001,到,12/31/9999,上午,00:00:00,到下午,11:59:59,存放日期与时间,学生作息时间,逻辑型,(L),1,个字节,“,真,”,值,.T.,或,“,假,”,值,.F.,存放逻辑值,.T.,或,.F.,是否党团员,备注型,(M),4,个字节,只受存储空间限制,存储不定长的字母、数字、文本等,学生特长说明,通用型,(G),4,个字节,只受存储空间限制,存放图形、图像等多媒体数据,学生照片,说明:,对字符型、数值型和浮点型字段,在设计表结构时用户应根据实际需要设置适当的宽度,其他数据类型的宽度由,Visual FoxPro,规定,长度固定不变,如日期型宽度为,8,,逻辑型宽度为,1,等。,备注型字段的宽度为,4,个字节,用于存储一个指针(即地址),该指针指向备注内容存放地的地址。,通用型字段的宽度为,4,个字节,用于存储一个指针,该指针指向,.FPT,文件中存储通用型字段内容的地址。,只有数值型、浮点型及双精度型字段才有小数位数,小数点和正负号在字段宽度中各占,1,位。,可以指定字段是否接受空值(,NULL,)。,4.1.2,建立表的结构,1,、 用户文件建立路径缺省值的设置步骤:,1),选定工具菜单的“选项”命令,2),在弹出的选项对话框中选“文件位置”选项卡,3),在列表中选定“默认目录”选项,4),选定“修改”按钮,5),在更改文件位置对话框中选定”使用默认目录”复选框,6),在默认目录文本框内输入路径,7),选定确定”按钮返回选项对话框,8,)选定“确定按钮关闭选项,等价命令:,SET DEFAULT TO,盘符路径,例如:,SET DEFAULT TO C : VFP,设置系统存盘缺省目录为,C,盘根目录,下的,VFP,子文件夹。,2,、建表方法(,3,种),方法一:命令方式,格式:,CREAT | ?,功能:打开表设计器,创建一个新表文件结构。,命令,1,:,例:,CREAT,学生,.dbf,格式:,CREAT TABLE ,( (), (),功能:直接创建一个新表文件结构。,命令,2,:,例:,CREAT TABLE,学生,(,学号,C(8),,,姓名,c(8),性别,C(2),入校总分,N(3),a,、,选定“,文件,”菜单,|“,新建,”;,b,、,在新建对话框中的选定“表”选项按钮;,c,、,选定“新建文件”按钮;,d,、,在出现的创建对话框中输入表名、保存位置、保存类型;,e,、,单击“保存”按钮;,f,、,在出现的表设计器中设定各字段的属性值;,g,、,设定完成后单击确定按钮,h,、,出现询问现在是否要输入数据记录的对话框,按”否”按钮即关闭表设计器窗口,建立结构结束。,方法二,:,菜单方式,a,、,打开项目管理器;,b,、,在“,数据,”选项卡中的选定“,自由表,”选项;,c,、,单击“,新建,”按钮;,d,、,在出现表设计器中设定各字段的属性值。,方法三,:,项目方式,表设计器的字段选项卡,表设计器包括,宇段、索引、表,等,3,个选项卡,字段选项卡的操作:,(1)“,字段名”:供输入字段名。,(2)“,类型”:供选取字段类型。,(3)“,宽度”:输人数字。,(4)“,小数位数”:输入或微调小数值数。,(5)“,索引”列:建立索引,(6) “NULL”,列:,NULL,值表示无明确的值,P34,(7),移动按钮:改变字段的次序。,(8),删除按钮:删除一个字段。,(9),插入按钮:插入一个字段可选定插,入点后一字段后再选插入按钮。,4.1.3,表数据的输入,方法一,:,立即追加数据,在数据表的结构建立后立刻追加数据,.,注意:数据输入要点,(1),表的数据可通过记录编辑窗口按记,录逐个字段输入。,(2),逻辑型字段只能接受,T,,,Y,F,N,这,4,字母之一,(,不论大小写,),。,T,与,Y,同义,,F,与,N,同义。,(3),日期型数据必须与日期格式相符。,默认格式为美国日期:,mm,dd,/,yy,(4),备注型或通用型字段:,不想输入数据,:按,回车键,跳过;,要输入数据,:按,ctr1,十,PgDn,或用鼠标,双击,。,记录的备注型或通用型字段非空时其字,段标志首字母以,大写,显示。如:,Gen,备注字段的文本可利用编辑菜单进行编辑,,还可利用格式菜单设置格式,方法二,:,直接追加数据,格式:,APPEND BLANK,功能:,在表尾追加一条空记录或以交互方式填写记录,。,命令,1,:,例:,APPEND,APPEND BLANK,格式:,APPEND FROM FIELDS ,WHILE FOR ,功能:,从另一个文件在当前表尾追加一批记录,。,命令,2,:,例:,P46 li4-3,4.2,数据表的打开、显示和关闭,只有表打计开才能靠编辑窗口对它修改,或检索;但编辑窗口的关闭并不意味着,表会关闭;表关闭时数据会自动存盘。,一、表的打开,1,用,USE,命令来打开或关闭表,格式:,功能:在当前工作区中打开或关闭表。,自动打开同名,.FPT,文件。,USE ,文件名, ,说明:,(1),文件名表示被打开的表的名字;,缺省文件名表示关闭当前工作区,例 命令,USE 5B &,打开表,5B,DBF,命令,USE &,关闭该表,(2),打开一个表时,该工作区中原来打开的,表自动关闭。,(3),已打开的表总有一个记录指针,指针所指,的记录称为,当前记录,。,表刚打开时记录指针指向第一个记录。,表操作结束后应及时关闭以便将内存,的数据保存到表中。,2,打开表的其它常用方法,(1),通过菜单打开,步骤为:,a,、,选定“,文件,”菜单的“,打开,”命令,b,、,在对话框中选定要打开的文件,c,、,选定“确定”按钮。,注:若要修改结构或记录还应选定打,开对话柜中的“独占”复选框。,否则打开的表是只读的不能修改。,(2),通过窗口菜单的数据工作期命令来打开。,4.2.2,关闭表的方法,(,1,) 命令方式,【,命令,1】,USE,【,功能,】,关闭当前工作区已打开的表文件。,【,命令,2】,CLOSE ALL,【,功能,】,关闭所有工作区中的所有各类型文件,但不释放内存变量。,【,命令,3】,CLOSE ,【,功能,】,关闭由,指定的相应类型的文件。,CLOSE TABLES ALL,可以关闭所有的表文件。,【,命令,4】,CLEAR ALL,【,功能,】,关闭所有工作区中的所有表及各类型文件,并且释放内存变量。,【,命令,5】,QUIT,【,功能,】,关闭所有工作区中的表及各类型文件,释放内存变量并返回到操作系统。,(2),通过窗口菜单的数据工作期命令来关闭表。,(3),通过退出,VFP,来关闭。,方法,1,:,选定“文件”菜单的“退出”命令,方法,2,:,在命令窗口中键人命令,QUIT,。,4.3,表结构的修改,1,、菜单方式,打开表文件,单击“显示”,-“,表设计器”,打开表设计器后即可进行修改。,2,、命令方式,【,格式,】,【,功能,】,打开表设计器对话框,修改当前表文件的结构。,MODIFY STRUCTURE,【,说明,】,在使用,MODIFY STRUCTURE,命令之前必须先打开表。,当表处于打开状态时,“显示”菜单中会包含表设计器命令,。,“,字段”选项卡为用户提供了对表中字段的添加、删除以及设置字段的有效性规则等功能,添加新字段。,将光标指向要添加新字段的位置并单击,再单击插入按钮,则在当前字段之前插入一个名为“新字段”的字段。,删除字段。,选定要删除的字段,单击删除按钮即可。,修改字段属性。,即可以修改字段的名称、宽度及类型。,修改完毕后,单击确定按钮(或按,Ctrl,W,)进行保存。,修改完成后,可在命令窗口中键入,LIST STRUCTRUE,命令显示表结构。,4.4,表的记录定位和显示,4.4.1,记录指针的定位,Visual FoxPro,为当前表文件设置了一个记录指针,指针所指向的记录称为当前记录。,一张表刚打开时,记录指针自动指向第,1,条记录。,移动记录指针的命令分为两类:,绝对定位,相对定位,。,(,1,)绝对定位,【,格式,】,【,功能,】,将记录指针移动到指定位置,。,GOTO RECORD,|,|TOP|BOTTOM,【,菜单,】,打开表单击“显示”菜单选择“浏览”命令单击“表”菜单在级联菜单中执行“转到记录”命令进行记录定位。,【,说明,】,此命令应用时比较灵活,说明如下:,RECORD,物理记录号指定一个物理记录号,记录指针将移至该记录。可以省略,GO,或,GOTO,命令而只指定记录号。,TOP|BOTTOM,表示将记录指针指向表的第一个或最后一个记录。如果表索引文件打开时,则参数,TOP|BOTTOM,表示将指针移动到索引记录的开始或最后。,如果该命令使用,,则系统自动对该表达式取整,然后再将记录指针指向整数所表示的记录,.,【,例,】,记录指针绝对移动命令应用示例。,USE,学生,?RECNO(),&,测试当前记录的记录号,显示,1,GO 4,&,将记录指针指向第,4,条记录,?RECNO(),&,测试当前记录的记录号,显示,4,GO BOTTOM,?RECNO(),&,显示最后一条记录的记录号,GO TOP,?RECNO(),&,显示首记录的记录号,USE,(,2,)相对定位,【,格式,】,【,功能,】,从当前记录开始向前或向后移动记录指针。,SKIP ,记录数,【,说明,】,命令中的,记录数,表示移位记录的个数。负值表示向文件头移位;正值表示向文件尾移位;记录数省略时等同于,1,。,【,例,】,SKIP,命令用法示例。,USE,学生,?,RECNO,(),,BOF,(),&,显示,1,,,.F.,SKIP -1,?,RECNO,(),,BOF,(),&,显示,1,,,.T.,(注意,记录号仍为,1,),SKIP 8,?,RECNO,(),,BOF,(),&,显示,9,,,.F.,SKIP,?,RECNO,(),,EOF,(),&,显示,10,,,.F.,SKIP,?,RECNO,(),,EOF,(),&,显示,11,,,.T.,USE,4.4.2,数据的显示与修改,1,、用菜单方式浏览和修改数据,方法:,利用“显示”菜单下的“浏览”和“编辑”命令打开浏览窗口即可。,2,、用,BROWSE,命令浏览数据,【,格式,】,【,功能,】,打开浏览窗口,显示和修改记录。,BROWSE FIELDS ,FOR last,【,说明,】,若有,REST,参数,则打开浏览窗口是指针定位在当前记录上,否则定位在第一条记录上。,【,例,4-8】,BROWSE,命令示例。,USE,学生,BROWSE FIELDS,学号 姓名,出生年月,入校总分,FREEZE,学号,冻结学号字段进行浏览,即学号字段是可以进行操作的惟一字段,BROWSE TITLE ,学生基本情况表, NODELETE LOCK 1 NOMENU FIELDS,学号,:R,,姓名,:R:H=,学生名字,,三好生,命令执行的结构是:浏览窗口标题改为“学生基本情况表”;学号、姓名两字段为只读,且姓名字段名显示为“学生名字”;在该窗口中不许设置记录删除标记;将窗口一分为二,右分区按常规显示,左分区只出现前一个字段,如图所示。,BROWSE,命令的使用,3,、插入记录,【,格式,】,【,功能,】,在当前打开表文件中的当前记录指针位置处插入新记录。,INSERT BLANK BEFORE,【说明】,使用BEFORE子句能在当前记录之前插入新记录,缺省该子句则在当前记录之后插入新记录。若使用BLANK子句立即插入一条空白记录,缺省该子句则出现记录编辑窗口,等待用户输入记录。,【,例,4-11】,在“学生”数据表的第,4,条记录之前插入一条空白记录。,USE,学生,LIST,GO 4,INSERT BEFORE BLANK,Note,在,4,号记录之前插入空白记录,BROWSE,插入一条空白记录后的浏览窗口,4,、用命令,LIST,或,DISPLAY,记录,【,格式,】,【,功能,】,对满足条件的当前表记录列表或分屏的方式进行显示输出。,LIST/DISPLAY FIELDS FOR WHILE OFF TO PRINTER PROMPT | TO FILE,文件名,【,说明,】,FIELDS ,指定显示的字段名,。,指定输出记录的范围,默认为,ALL,。对,DISPLAY,命令,如果不指定范围,则显示当前记录。,FOR/WHILE ,指定输出显示记录所满足的条件,如果同时指定,FOR,和,WHILE,,,WHILE,优先进行,,WHILE,指在显示输出时从记录指针所指向的当前记录开始,而,FOR,总是从第一条记录开始。,OFF,在显示输出时不显示记录号。,【,例,4-5】,显示学生表的记录,如图。,USE,学生,LIST&,在屏幕显示当前表所有记录,DISPLAY ALL FIELDS,学号,姓名,入校成绩,OFF,4.5,数据表的复制,4.5.1,复制任何类型的文件,【,格式,】,【,功能,】,将源文件的内容复制到目标文件中。,COPY FILE TO ,【,说明,】,源文件和目标文件的扩展名不能省略。,示例:,COPY FILE C:SB.DBF TO SB1.DBF,COPY FILE C:SB.FPT TO SB1.FPT,4.5.2,复制表文件,【,格式,】,【,功能,】,将选定记录的字段复制成一个新表或其他类型的文件,COPY TO FIELDS FOR WHILE ,【,说明,】,源,文件和目标文件的扩展名不能省略。,【,例,】,利用学生表分别创建一个包含“学号”,“姓名”和“性别”的新表,表名为学生,1.DBF,,新表包含有女生的所有记录和一个名为“学生,.TXT”,的文本文件。,USE,学生,COPY TO,学生,1 FIELDS,学号,姓名,性别,FOR,性别,=,女,COPY TO,学生,SDF &,生成一个名为学生的文本文件,扩展名是,.TXT,TYPE,学生,.TXT&,在屏幕上显示文本内容,4.5.3,复制数据表结构,【,格式,】,【,功能,】,用当前选择的表结构创建一个新的数据表结构。,COPY STRUCTURE TO,新表文件名,FIELDS ,【,例,】,利用学生表创建一个包含有学号、姓名和性别的新表,表名为学生,1.DBF,:,USE,学生,COPY STRUCTURE TO,学生,1 FIELDS,学号,姓名,性别,4.6,记录的删除与恢复,4.6.1,逻辑删除记录(为记录做删除标记),在,Visual FoxPro,中,通过窗口菜单或命令都可以删除表中的记录。,删除记录应首先对相关记录做删除标记,有两种删除标记:在主屏的列表显示下,物理记录号与第一个字段之间有一“*”标记,在“浏览”方式下,记录左面为黑色方块“,(,1,)在“浏览”窗口中做删除标记,“浏览”方式下,单击记录左面的方块即可为记录加上删除标记。再次单击可取消黑色小方块即取消删除。如果该记录须真正删除,这时须从“表”菜单中选择“彻底删除”,当出现提问是否删除已做标记的记录时,选择“是”,便会永久删除。,如果做了删除标记的记录,以后再进行彻底删除,用户这时可按,Ctrl+W,键存盘退出。,如果想对记录设置删除范围,则应在“删除”对话框中设置条件。,【,例,4-12】,在“学生”数据表中,对所有女生的记录做删除标记,操作步骤如下:,从“表”菜单中选择“删除记录”,然后输入删除条件。,在“删除”对话框的“作用范围”中选择删除的范围(如选,ALL,为全部,,NEXT2,为从当前记录开始的连续,2,条,,RECORD 3,为第,3,条,,REST,为从当前开始直至最后一条记录),这里选择,ALL,。,如果待删除的记录能够描述出来,用户可以建立一个描述表达式,如本例,FOR,的表达式是:性别,=,女,。,最后单击删除按钮即可。,做删除标记对话框窗口,(,2,)用命令为记录做删除标记,【,格式,】,【,功能,】,对当前表在指定,内满足,的记录加上删除标记。,DELETE FOR WHILE ,【,说明,】,若可选项都缺省,只为当前记录做删除标记,。,【,例,】,删除命令,DELETE,的应用示例,。,USE,学生,DELETE FOR,入校总分,=565,LIST,*,使用函数,DELETE,()可以判断记录是否被逻辑删除,GO 4,?DELETE,(),.F.,GO 7,?DELETE,(),4.6.2,逻辑删除记录的恢复,【,格式,】,【,功能,】,对当前表在指定,内满足,的记录去掉删除标记。若可选项都缺省,只恢复当前记录。,RECALL FOR WHILE ,【,菜单,】,打开数据表的浏览窗口然后单击“表”菜单选择“恢复删除”命令,。,4.6.3,物理删除记录,(,1,)对带有删除标记的记录可通过命令把它们从磁盘上永久地删除,命令语法格式如下:,【,格式,】,【,功能,】,从物理上删除,也即真正删除带有删除标记的记录。,PACK,【,说明,】,使用该命令将真正删除带有删除标记的记录,不可恢复,。,(,2,)记录的一次性删除命令,使用,ZAP,命令可以一次性将当前表中所有记录从表文件中彻底删除,仅保留表的结构。命令语法格式如下:,【,格式,】,【,功能,】,物理删除当前表中的所有记录。,ZAP,【,说明,】,执行,ZAP,相当于执行,DELETE ALL,和,PACK,两条命令,只保留表结构。,4.7,修改表中的数据,4.7.1,用命令修改表中的数据,1,、,CHANGE / EDIT,命令,【,格式,】,【,功能,】,弹出对话窗口对指定条件记录的指定字段进行修改。,CHANGE/EDIT FIELDS WHILE FOR ,2,、成批修改记录数据,【,格式,】,【,功能,】,在当前表的指定记录中,直接将字段值用指定的表达式值来替换。,REPLACE FOR WHILE WITH ADDITIVE, WITH ADDITIVE ,【,说明,】,在当前表的指定记录中,直接将字段值用指定的表达式值来替换。,【,说明,】,该命令对,内符合,的记录用,的值来替换,的值。,若,与,等选项都缺省,只对当前记录的有关字段进行替换。,ADDITIVE,用于备注型字段,表示将表达式值添加到字段的原有内容后面,否则取代原有内容。,【,例,4-9】,对表,1-8,所示的课程表“课程,.DBF”,中的某些记录进行修改。,USE,课程,REPLACE ALL FOR LEN(TRIM(,课程名,)=4,课时,WITH,课时,-5,,课程名,WITH SUBSTR(,课程名,1,2)+ +SUBSTR(,课程名,3,2),*,上面命令的作用是将,3,号记录的课程名字段值变为“日 语”,课时数变为“,75”,【,例,4-10】,将,表达式值添加到学生,.dbf,表中,3,号记录的备注型字段中。,USE,学生,REPLACE,特长,WITH ,,,+,姓名,+,曾获市中学个人舞蹈比赛第一名, FOR RECNO,(),=3 ADDITIVE,该记录备注字段数据变为“舞蹈,刘 雨 曾获市中学个人舞蹈比赛第一名”,3,、在浏览窗口中编辑修改记录,格式:,BROWSE FIELDS ,FOR &,记录选择,FREEZE &,冻结指定字段,FONT , STYLE,&,字体、风格、格式设置,LOCK &,;左分区锁定, NAME &,允许使用表格控件的对象,LAST &,以最后一次的配置浏览,NOAPPEND &,不许追加记录,NODELETE &,不许设置删除标记,NOEDIT | NOMODIFY,&,不允许编辑数据,但可浏览,添加或删除记录,NOLGRID NOWAIT &,不要分区网格线,NOLINK &,左右分区不连接,NOMENU NOWAIT &,不访问表菜单,不等待,NOREFRESH &,禁止窗口刷新,NOMORE &,打开正常浏览窗口,SAVE &,保持浏览窗口为活动窗口,TIMEOUT &,显示浏览窗口时间,TITLE &,设置浏览窗口标题, VALID :F ERROR ,&,记录级检查, WHEN WIDTH ,&,当条件检查,WINDOW &,窗口名称, IN WINDOW | IN SCREEN ,&,浏览窗口在窗口或屏幕中,4.7.2,数据表与数组之间的数据交换,1,将当前记录复制到数组,【,格式,】,【,功能,】,将当前记录的字段值按,顺序依次送入数组元素中,或依次送入一组内存变量。,SCATTER FIELDS MEMO TO BLANK| MEMVAR BLANK,【,说明,】,若,选择,FIELDS,子句,则只传送字段名表中的字段值,否则将传送所有字段值(备注型字段除外)。若要传送备注型字段值,还需使用,MEMO,选项。,使用,TO ,子句能将数据复制到,所示的数组元素中,如果已定义的数组长度不够,,Visual FoxPro,会自动扩大数组长度。,使用,MEMVAR,可将数据复制到一组变量名与字段名相同的内存变量中;如果使用,BLANK,,则创建一组与各字段名同名、数据类型相同的空内存变量。,【,例,4-15】,SCATTER,命令的使用示例。,USE,学生,GO,*下面将第一条记录中各字段值包括备注字段的内容,复制到数组,ST1,中,SCATTER TO ST1 MEMO,SKIP,*,将第二条记录中姓名、性别和入校总分,3,个字段的内容复制到数组,ST2,中,SCATTER FIELDS,姓名,性别,入校总分,TO ST2 MEMO,GO BOTTOM,*,将最后一条记录各字段值复制到同名内存变量中,SCATTER TO MEMVAR,2,将数组或内存变量的数据复制到当前记录,【,格式,】,【,功能,】,将数组或内存变量的数据依次复制到当前记录,以替换相应字段值。,GATHER FROM | MEMVAR FIELDS MEMO,【,说明,】,修改记录前需确定记录指针位置。,若使用,FIELDS,子句,仅,中的字段才会被数组元素值替代,缺省,MEMO,子句时将忽略备注型字段。,内存变量值将传送给与它同名的字段,若某字段无同名的内存变量则不对该字段进行数据替换。,若数组元素多于字段数,则多出的数组元素不传送;而数组元素少于字段数,则多出的字段其值不会改变。,【,例,4-16】,GATHER,命令的使用示例。,USE,学生,APPEND BLANK,*,将数组,ST2,的相关数据复制到当前空记录中,GATHER FROM ST2 FIELDS,姓名,性别,入校总分,APPEND BLANK,GATHER FROM MEMVAR &,将例,4-15,定义的内存变量值复制到当前记录,BROWSE,结果如图:,4.8,数据表的过滤,Visual FoxPro,通过设置一个称为“过滤器”的装置来定制表的显示输出,过滤器分为:,记录过滤器,记录过滤器可以将符合条件的记录留下来,将不符合条件的记录过滤掉。,字段过滤器,字段过滤器将指定的字段留下来,将其他字段过滤掉,在以后的命令中可以不再指定字段名,只对留下来的字段进行操作。,4.8.1,记录过滤,【,命令,】,SET FILTER TO ,【,菜单,】,打开表“浏览”窗口在“表”菜单中选择“属性”命令打开“工作区属性”对话框。,【,功能,】,从当前表中过滤出符合指定条件的记录,随后的操作仅限于这些记录。,【,说明,】,缺省条件时表示取消所设置的过滤器。,【,例,4-17】,记录过滤器应用示例。,USE,学生,SET FILTER TO YEAR(,出生年月,) =1984,LIST &,显示在,1984,出生的学生的记录即,1,、,2,、,4,、,5,、,8,号记录,SET FILTER TO &,取消记录过滤,LIST &,显示所有记录数据,USE,“工作区属性”对话框,4.8.2,字段过滤,【,命令,】,SET FIELDS TO | ALL,【,菜单,】,打开表“浏览”窗口选择“表”菜单中的“属性”命令打开“工作区属性”对话框选择“字段筛选指定的字段”选项单击字段筛选按钮打开“字段选择器”对话框。,【,功能,】,为当前表设置字段过滤器。,【,例,4-18】,字段过滤器应用示例。,USE,学生,SET FIELDS TO,学号,姓名,性别,入校总分,LIST &,显示,4,个字段的数据,SET FIELDS TO OFF &,取消字段过滤,LIST &,显示所有字段的数据,USE,“字段选择器”对话框,
展开阅读全文