VisualFoxPro60程序设计.ppt

上传人:人*** 文档编号:570659539 上传时间:2024-08-05 格式:PPT 页数:46 大小:259.66KB
返回 下载 相关 举报
VisualFoxPro60程序设计.ppt_第1页
第1页 / 共46页
VisualFoxPro60程序设计.ppt_第2页
第2页 / 共46页
VisualFoxPro60程序设计.ppt_第3页
第3页 / 共46页
VisualFoxPro60程序设计.ppt_第4页
第4页 / 共46页
VisualFoxPro60程序设计.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《VisualFoxPro60程序设计.ppt》由会员分享,可在线阅读,更多相关《VisualFoxPro60程序设计.ppt(46页珍藏版)》请在金锄头文库上搜索。

1、建立表前的准备建立表前的准备 在建立表结构以前,首先应该根据用户的需求,明确所要创建的表中应该包含哪些字段,每个字段的名称、类型和宽度。8/5/20241Visual FoxPro 6.0程序设计建立表基本结构建立表基本结构 使用命令建立表结构:使用命令建立表结构:格式:格式: CREATE 表文件名表文件名功能:功能:建立一个表文件。说明:输入命令后,按Enter键,屏幕上会出现“表设计器”对话框,利用该对话框即可建立表的结构。参数描述:参数描述:表文件名指定要创建的表的名称。说明:说明:输入命令后,按Enter键,屏幕上会出现“表设计器”对话框,利用该对话框即可建立表的结构。若定义了备注型

2、字段,则同时建立了一个.FPT为扩展名的表备注文件。若在文件名前指定了驱动器标识符,则文件建立在指定的驱动器上,否则建立在当前驱动器上。不指定文件扩展名时,缺省扩展名为.DBF。8/5/20242Visual FoxPro 6.0程序设计若磁盘上存在这个文件或文件重名,系统显示一个警告对话框,提示是否要改写表。如果需要改写,则选择【是】,否则选择【否】。不要用A-J单个字母作为表文件名,因为他们是专门用于工作区别名的。 8/5/20243Visual FoxPro 6.0程序设计表结构的基本处理方法表结构的基本处理方法 功能:功能:显示当前表结构的有关信息。包括表文件名、记录个数、最后一次修改

3、日期、各字段的字段号、字段名、类型、宽度和小数位,一条记录的字节总数。参数说明:参数说明:TO PRINTER子句表示将操作结果送到打印机。后面可以接PROMPT参数,这一参数的在执行打印命令之前,先打开“打印设置”对话框,用以对打印机有关参数(如纸张大小、打印范围等)进行设置。PROMPT参数只能紧接TO PRINTER命令。TO FILE子句表示将操作结果输出到指定的磁盘文件中。 1、显示表结构格式:格式:LIST| DISPLAY STRUCTURE TO RINTERPROMPT |TO FILE文本文件名文本文件名8/5/20244Visual FoxPro 6.0程序设计LIST

4、STRUCTURE和和DISPLAY STRUCTURE命令的区别命令的区别DISPLAY STRUCTURE在每显示一屏信息后暂停,等待用户按任意一键后继续显示;LIST STRUCTURE显示信息时没有周期性暂停,而是连续向下显示,直到显示完毕。 8/5/20245Visual FoxPro 6.0程序设计2 2、 修改表文件的结构修改表文件的结构格式:MODIFY STRUCTURE功能:功能:显示表设计器,修改当前表文件的结构。说明:说明:如果没有在当前选定工件区打开表,则显示“打开”对话框,允许用户从中选择一个要修改的表。对表结构的更改包括:添加和删除字段;修改字段名称、大小和数据类

5、型;添加、删除或修改索引标识,以及指定是否支持NULL值等。8/5/20246Visual FoxPro 6.0程序设计3 3、复制表结构、复制表结构 格式:格式:COPY STRUCTURE TO 表文件名表文件名 FIELDS 字段名表字段名表功能:将当前打开的表文件结构的部分或全部复制为表文件名所指定的一个表的结构。 参数描述:表文件名:表文件名:指定生成新表结构的表文件名。FIELDS 字段名表:字段名表:指定在新表中包含的字段及顺序。说明:复制生成的表文件中的结构部分包含哪些字段,以及字段先后顺序都由FIELDS 字段名表所规定。若省略该子句,则按字段原来的顺序复制全部字段。 4 4

6、、建立表结构的其它方法、建立表结构的其它方法 (1)生成表结构文件 格式:格式:COPY STRUCTURE TO 表结构文件名表结构文件名 EXTENDED 8/5/20247Visual FoxPro 6.0程序设计功能:功能:它将当前表的结构复制生成一个特殊的表文件,即表结构伸展文件。将将Student的结构复制生成一个表结构文件的结构复制生成一个表结构文件studstr,然后用显示其然后用显示其结构结构 USE StudentCOPY STRUCTURE TO studstr EXTENDEDUSE studstrLIST STRUCTURE 8/5/20248Visual FoxPr

7、o 6.0程序设计(2 2)将表结构文件还原成表结构)将表结构文件还原成表结构 格式:格式:CREATE 表文件名表文件名 FROM 表结构文件表结构文件功能:功能:将表结构文件还原成为普通表文件。新建的表文件是一个只有结构部分而没有记录的表结构框架。将上例中的将上例中的studstr表结构文件还原生成一个新的表文件表结构文件还原生成一个新的表文件Student1CREATE Student1 FROM studstrUSE Student1LIST STRUCTURE 8/5/20249Visual FoxPro 6.0程序设计表的打开表的打开使用任何一个表以前,都必须首先打开表。 格式:格

8、式:USE 表文件名表文件名 EXCLUSIVE SHARED功能:功能:打开指定的表文件。参数描述:参数描述:表文件名:表文件名:指定要打开的表的名称。EXCLUSIVE:以独占的方式打开表(可以修改)。SHARED:以共享的方式打开表(可以修改) 。打开表时若表含有备注型字段,则FPT文件也同时被打开。若不选择任何参数,表示关闭当前工作区中已打开的表。在任一时刻,每个工作区最多允许打开一个表。如果指定工作区已有表打开,在打开新的表时,系统总是先自动关闭原来打打开的表。打开表时,记录指针指向第一条记录。 8/5/202410Visual FoxPro 6.0程序设计关闭表关闭表 格式一:格式

9、一:USE功能:功能:关闭当前工作区已打开的表文件。格式二:格式二:CLOSE ALL功能:功能:关闭所有工作区中的所有的库、表及索引文件,不释放内存变量。格式三:格式三:CLOSE 文件类型文件类型功能:功能:关闭由文件类型指定的相应类型的文件。如close tables 可以关闭所有的表文件。格式四:格式四:CLEAR ALL功能:功能:关闭所有工作区中的所有表,并且释放内存变量。格式五:格式五:QUIT功能:功能:关闭所有工作区中的表及各类型文件,释放内存变量并返回到操作系统。8/5/202411Visual FoxPro 6.0程序设计录入记录数据录入记录数据 表的数据录入有多种方法:

10、第一种方法是在表结构建立时录入数据;对于m和g型数据,按Ctrl+Pgdn或双击都可打开编辑窗口,录入完毕后,按Ctrl+W存盘,按Esc或Ctrl+Q取消。第二种方法是在表结构建成并存盘关闭了“表设计器”之后,利用命令向表中追加记录。 格式一:格式一:APPEND BLANK 参数描述:参数描述:BLANK:在当前表的末尾添加一条空记录。 功能:在表的末尾添加一个或多个新记录。说明:说明:可以在只有表结构而没有记录的空表中添加记录,也可以在已经录入数据的表中的尾部追加记录;它可以向当前表的尾部追加一条或多条新记录。省略可选项,8/5/202412Visual FoxPro 6.0程序设计则在

11、当前表的尾部追加任意新记录,追加记录的方法及操作与用CREATE命令建立表时输入数据的方法相同;当发出APPEND或APPEND BLANK命令,并且在选定工作区中没有打开的表时,将显示一个“打开”对话框,我们可以在对话框中选择一个要添加记录的表。APPEND命令打开一个编辑窗口,我们可以在其中输入一个或多个新记录。增加新记录后,VFP将自动修改打开的所有索引。打开浏览窗口后通过追加方式添加记录打开浏览窗口后通过追加方式添加记录方法:在项目管理器中选定一个要添加记录的表,然后单击【浏览】,然后在系统菜单中选择【显示】|【追加方式】。8/5/202413Visual FoxPro 6.0程序设计

12、录入记录数据录入记录数据 格式二:格式二:APPEND FROM 文件名文件名|? FIELDS 字段名列表字段名列表 FOR 条件条件 DELIMITEDWITH分隔符分隔符 |SDF功能:功能:将其他表中的记录追加到当前表记录末尾。若不指定文件类型,则源文件为表文件。参数描述:参数描述:?:显示“打开”对话框,从中选择从哪个表中读入数据。FIELDS 字段名列表字段名列表 :指定要添加数据的字段。FOR 条件条件: 为当前选定表中满足条件的记录追加新记录,省略该选项,则整个源文件记录都追加到当前表中。DELIMITEDWITH分隔符分隔符: 用于指定字段之间的分隔符号。SDF:用于指定源文

13、件的数据格式,SDF为标准文本格式,它用字段的宽度表示记录各字段的值,以回车和换行符将记录隔开,各字段间不使用分隔符。例:例:appen from du.txt delimited with with char ,8/5/202414Visual FoxPro 6.0程序设计录入记录数据录入记录数据 格式三:格式三:APPEND FROM ARRAY 数组名数组名 FOR 条件条件FIELDS 字段名列表字段名列表功能:功能:将数组中的每一行作为一条记录,在当前表的记录末尾追加一条新记录。参数描述:参数描述:FIELDS 字段名列表字段名列表 :若指定此选项,则数组行中的各元素所代表的数据,填

14、入到对应的字段中。8/5/202415Visual FoxPro 6.0程序设计记录指针定位记录指针定位 记录定位就是将记录指针移到指定的记录上,记录指针指向的记录称为当前记录。VFP提供了下列绝对定位和相对定位两类命令。1、记录指针的绝对定位 格式一格式一:GOTO| GO RECORD 数值表达式数值表达式 /TOP/BOTTOM 格式二:格式二: 数值表达式数值表达式功能:将记录指针直接定位到指定的记录上。参数描述:数值表达式:数值表达式:指定一个物理记录号,记录指针移至该记录上。TOP:将记录指针定位在表的第一个记录上。 BOTTOM:将记录指针定位在表的最后一个记录上。说明: REC

15、ORD可省略。数值表达式的值必须大于0,且不大于当前表文件的记录个数。8/5/202416Visual FoxPro 6.0程序设计2、记录指针的相对定位 相对定位与当前记录有关,它是把记录指针从当前位置作相对移动。 格式格式:SKIP 数值表达式数值表达式 功能:将记录指针向前或向后作相对若干条记录的移动。参数描述:数值表达式:数值表达式:指定记录指针作相对移动的记录数据。说明:1、移动的记录数等于数值表达式的值,其值为正数时,记录指针向下移动,当数值表达式是负数时,记录指针向上移动。2、省略选择项数值表达式,约定为向下移动一条记录,即SKIP 等价于SKIP 1。 8/5/202417Vi

16、sual FoxPro 6.0程序设计在表中插入记录在表中插入记录 1、INSRET命令 格式格式:INSERT BLANK BEFORE 功能:在当前记录之前或之后插入一条或多条新记录。参数描述:选择BEFORE子句,新记录插在当前记录之前,当前记录和其后的记录向后顺序移动;否则插在当前记录之后,当前记录之后的记录顺序向后移动。选择BLANK子句,则插入一条空记录。 说明:1、省略所有可选项,则在当前记录之后插入新记录。2、在VFP中对于具有参照完整性规则的表也不能使用INSERT命令 。8/5/202418Visual FoxPro 6.0程序设计2、INSERTSQL命令 (不讲,在不讲

17、,在SQL部分讲)部分讲)格式一:格式一:INSERT INTO 表文件名表文件名(字段名字段名1 ,字段名,字段名2) VALUES (表达式表达式1,表达式表达式2)格式二:格式二:INSERT INTO 表文件名表文件名 FROM ARRAY 数组名数组名/ FROM MEMVAR 功能:在表尾追加一个包含指定字段值的记录。 参数描述:表文件名:表文件名:指定要追加记录的表文件名。表文件名中可以包含路径,也可以是一个名称表达式。 (字段名字段名1 ,字段名,字段名2):指定要插入值的字段名。VALUES (表达式表达式1,表达式表达式2):新插入记录的字段值。FROM ARRAY 数组名

18、数组名:指定一个数组,数组中的数据将被插入到新记录中。 FROM MEMVAR:把内存变量的内容插入到与它同名的字段中。说明: 8/5/202419Visual FoxPro 6.0程序设计显示表中的记录显示表中的记录 格式:格式:LIST| DISPLAY OFF FIELDS 字段名列表字段名列表 范围范围 FOR 条件条件 WHILE 条件条件 TO PRINTER PROMPT | TO FILE 文本文件名文本文件名 功能:显示当前表中的全部或部分记录和数据。参数描述:OFF:使用OFF时,不显示记录号,否则显示记录号。范围范围:范围为可选项,选择时为ALL、RECORD(N)、 N

19、EXT(N)、REST中的一个参数,表示记录显示的范围。FIELDS 字段名列表:字段名列表:若省略字段名表列,则显示当前表中的所有字段,否则显示指定的字段。如果备注字段名出现在字段名表列中,则它的内容按50个字符列宽显示, 8/5/202420Visual FoxPro 6.0程序设计FOR条件条件/WHILE条件条件:该子句用于有选择地显示某些记录,省略时则显示范围限定的全部记录。 TO PRINTER PROMPT| TO FILE 文本文件名文本文件名:指定记录列表的输出方向。TO PRINTER PROMPT指定输出到打印机。PROMPT参数的使用方法同前。TO FILE 文本文件名

20、指定输出到所指定的文本文件中。 LIST和DISPLAY的区别:(1)DISPLAY每显示一屏记录时暂停一次,按任意键后继续显示剩余的记录,而LIST没有周期性暂停,连续向下显示,直到记录显示完毕为止。(2)若省略所有可选项,则DISPLAY命令显示当前记录,即范围为NEXT 1,而LIST命令显示全部记录,即范围为ALL。 8/5/202421Visual FoxPro 6.0程序设计修改表中的记录修改表中的记录 1、全屏幕编辑命令(1)利用菜单浏览和修改表中的数据 (不讲)8/5/202422Visual FoxPro 6.0程序设计(2)利用命令浏览和修改表中的数据 格式:格式:BROW

21、SE 范围范围 FIELDS 字段名表字段名表 LAST FREEZE字段字段 FOR 条件条件REST功能:在屏幕上打开一个浏览窗口,在窗口中显示表的记录。参数描述: 范围:范围:指定进行浏览时的记录范围。Fields字段名表字段名表: 指定在浏览窗口中显示的表的字段。LAST:按最后一次关闭浏览窗口的方式打开浏览窗口。FREEZE字段字段:冻结指定字段(只能冻结1个),只有此字段能被修改。FOR 条件:条件:指定在浏览窗口中显示的记录所要求满足的条件。若有REST参数,打开表时,指针定位在当前记录上,否则定位在表的顶部。说明:1、BROWSE命令可以带有很多任选项,命令格式中只介绍了BRO

22、WSE命令的最基本的任选项。 8/5/202423Visual FoxPro 6.0程序设计EDIT和CHANGE命令格式:格式: EDIT|CHANGE 范围范围 FIELDS 字段名表字段名表 FOR 条件条件功能:两个命令功能一样,都用来交互式编辑或修改当前记录。 说明:执行这两个命令后,将打开“浏览”窗口,默认编辑当前记录。8/5/202424Visual FoxPro 6.0程序设计2、记录值替换命令 格式:格式:REPLACE 字段名字段名1 ADDITIVE ,字段名字段名2 WITH 表达表达式式2 ADDITIVE 范围范围 FOR 条件条件 WHILE 条件条件 功能:不进

23、入全屏幕编辑方式,根据命令中指定的条件和范围,用表达式的值去更新指定字段的内容。 参数描述:字段名字段名1: 指定要替换值的字段。WITH 表达式表达式1 :指定用来进行替换的表达式或值。范围:范围:指定进行替换时的记录范围。FOR 条件条件 :指定要进行替换字段值的记录应满足的条件。WHILE 条件:条件:当记录的条件不满足时结束替换。ADDITIVE:只用于备注型字段,表示将表达式的值添加到字段的原有内容之后,否则取代原有内容。说明:WITH后面的表达式的类型必须与WITH前面的字段类型一致 。例:例:replace 备注备注 with “曾获得中学个人唱歌比赛第一名曾获得中学个人唱歌比赛

24、第一名“ addi 8/5/202425Visual FoxPro 6.0程序设计删除记录删除记录 在VFP中删除记录是分为两步来进行的,第一步是将要删除的记录做上删除标记,第二步才是将记录真正从表是彻底删除。1、逻辑删除(为记录做上删除标记) 格式:格式:DELETE 范围范围 FOR 条件条件 WHILE 条件条件 功能:对当前表文件中指定的记录做删除标记。GO 7DELETEGO 4DELETE NEXT 3 LIST8/5/202426Visual FoxPro 6.0程序设计2、物理删除(清除带有删除标记的记录) 格式:格式:PACK功能:该命令将从当前表中删除所有带删除标记的记录。

25、说明:用PACK命令删除的记录是不可被恢复的。所以在使用PACK命令前一定要检查删除标记是否加的正确。 例:PACKLIST8/5/202427Visual FoxPro 6.0程序设计3、 恢复带删除标记的记录 格式:格式:RECALL 范围范围 FOR 条件条件 WHILE 条件条件 功能:恢复当前表中带删除标记的记录,即去掉删除标记“*”号。当省略所有的选项时,仅恢复当前记录。RECALL ALLBROW4、 清除所有记录 格式:格式:ZAP 功能:从当前表中清除全部记录,仅保留表的结构。ZAP命令与DELETE ALL 和PACK两条命令执行的结果相同,区别在于ZAP执行的速度更快,当

26、表中的记录很多时尤为明显。 8/5/202428Visual FoxPro 6.0程序设计数据表与数组之间的数据交换数据表与数组之间的数据交换1、将当前记录复制到数组 格式:格式:SCATTER FIELDS 字段名表字段名表 MEMO TO 数组名数组名功能:将当前记录的字段值按字段名表顺序依次送入数组元素中,或依次送入一组内存变量。说明:若选择选择FIELDS 子句子句,只传送字段名表中的字段值,否则将传送所有字段值(备注型字段除外),若要传送备注型字段值,还需使用MEMO选项。使用使用to 数组名数组名能将数据复制到数组名名所示的数组元素中,如果已定义的数组长度不够,会自动扩大数组长度。

27、例:例:use studentscat memo to a8/5/202429Visual FoxPro 6.0程序设计数据表与数组之间的数据交换数据表与数组之间的数据交换2、将多条记录复制到数组 格式:格式:Copy to array二维二维数组名数组名 范围范围 for 条件条件功能:将多个记录复制到一个数组。说明:数组数组每一行装一条记录。区别:Scatter只将一个记录复制到数组或一组变量,只将一个记录复制到数组或一组变量,copy to array可可将多个记录复制到一个数组。将多个记录复制到一个数组。8/5/202430Visual FoxPro 6.0程序设计数据表与数组之间的数

28、据交换数据表与数组之间的数据交换3、将数组或内存变量的数据复制到当前记录格式:格式:GATHER FROM 数组名数组名| MEMVAR FIELDS 字段名字段名表表 MEMO功能:将数组或内存变量的数据依次复制到当前记录,以替换相应字段值。说明:修改记录前应确定记录指针位置。若选择选择FIELDS 子句子句,仅字段名表中的字段才会被数据元素替代,缺省memo子句时将忽略备注型字段。内存变量值将传送给与它同名的字段,若某字段无同名的内存变量则不对该字段进行数据替换。若数组元素多于多于字段数,则多出的数组元素不传送,而数组元素少于少于字段数,则多出的字段其值不会改变。例:例:gather fr

29、om a fields 学学号号, 性别性别, 出生日期出生日期8/5/202431Visual FoxPro 6.0程序设计数据表的复制(请参看教材数据表的复制(请参看教材P82P82)1、复制任何类型的文件格式:格式:COPY FILE 文件名1 TO 文件名2功能:从文件名1文件复制得到文件名2文件。说明:若对表进行复制,该表必须处于关闭状态。文件名1与文件名2可以使用通配符“*”和“?”。例:例:Use Copy file student.dbf to stu.dbf8/5/202432Visual FoxPro 6.0程序设计数据表的复制(请参看教材数据表的复制(请参看教材P82P8

30、2)2、复制表文件格式:格式:COPY TO 文件名 范围 FIELDS 字段名表 FOR 条件 WHILE 条件 TYPEXLS|SDF|DELIMITED功能:将当前表中选定的部分记录和部分字段复制成一个新表或其他类型的文件。说明:(1)若表中含有备注型字段,则在复制扩展名为.DBF文件的同时自动复制扩展名为.FPT的备注文件。(2)若不含TYPE子句,默认文件的类型是表,若要得到EXCEL文件,TYPE子句必须取XLS,若要得到文本文件,则TYPE子句中必须取SDF(无定界符)或DELIMITED。 8/5/202433Visual FoxPro 6.0程序设计例:例:Use stude

31、ntCopy to stu fields 学号,姓名,性别 for 性别=.f.Copy to stu1 type sdf Type stu1.txtCopy to stu1 xls 8/5/202434Visual FoxPro 6.0程序设计数据表的复制(请参看教材数据表的复制(请参看教材P82P82)3、复制数据表结构格式:格式:COPY STRUCTURE TO 文件名文件名 FIELDS 字段名表字段名表 功能:将当前表的结构复制到文件名指定的新文件中。说明:仅复制当前表的结构,不复制其中的数据。FIELDS 字段名表选项用于指定新表的结构中包含的字段,同时也决定了这些字段在新表中的

32、排列次序。 例:例:Use studentCopy structure to stu1 fields 学号,姓名,性别8/5/202435Visual FoxPro 6.0程序设计项目管理器项目管理器 项目管理器项目管理器是VFP应用程序开发过程中所有对象与数据的“控制中心(Control Center)” 项目管理器的创建方法 :1、利用菜单命令。2、利用命令创建项目管理器 :格式: CREATE PROJECT 项目文件名项目文件名|? 参数描述:参数描述:项目文件名:指定项目的文件名。如果没有为文件指定扩展名,则VFP自动指定.PJX为扩展名。? :打开“创建”对话框,提示为正在创建的项

33、目文件命名。8/5/202436Visual FoxPro 6.0程序设计数据库的创建和修改数据库的创建和修改利用命令创建数据库的格式: CREATE DATABASE 文件名文件名|?利用命令打开数据库的格式: OPEN DATABASE 文件名文件名|? EXCLUSIVE|SHAREDNOUPDATEVALIDATEEXCLUSIVE|SHARED:指明数据库是以指明数据库是以“独占或共享独占或共享”方方式打开,以独占方式打开时,别的用户在此时就不能打开此式打开,以独占方式打开时,别的用户在此时就不能打开此数据库。系统默认为独占方式打开。数据库。系统默认为独占方式打开。NOUPDATE:

34、指明数据库以只读方式打开。指明数据库以只读方式打开。VALIDATE:打开数据库时作合法性检查,如检查库中引用打开数据库时作合法性检查,如检查库中引用的对象(如表及索引)是否存在。的对象(如表及索引)是否存在。利用命令修改数据库的格式(打开库): MODIFY DATABASE 文件名文件名|?8/5/202437Visual FoxPro 6.0程序设计数据库的关闭数据库的关闭利用命令关闭数据库的格式: CLOSE ALL|DATABASES ALLALL:关闭所有已打开的文件。关闭所有已打开的文件。 DATABASES:项只关闭当前数据库,其他已打开的数据库项只关闭当前数据库,其他已打开的

35、数据库不关闭。不关闭。 DATABASES ALL:关闭所有已打开的数据库文件。关闭所有已打开的数据库文件。8/5/202438Visual FoxPro 6.0程序设计数据库表字段确定数据库表字段确定 确定表字段的几点技巧:确定表字段的几点技巧:每个字段直接和表的主题相关 ;不要包含可推导得到或通过计算可以得到的字段 ;收集所需的全部信息 ;以最小的逻辑单位存储信息。 使用主关键字段使用主关键字段 VFP不允许在主关键字中有重复值或null值。因此,不能选择包含有这类值的字段作为主关键字。 因为要用主关键字的值来查找记录,所以它不能太长,以方便记忆和键入。主关键字可由一定长度的字母和数字组成

36、,或是某一范围内的值。 主关键字的长度直接影响数据库的操作速度,因此,在创建主关键字时,该字段值最好使用能满足存储要求的最小长度。 8/5/202439Visual FoxPro 6.0程序设计数据字典数据字典数据字典是包含数据库中所有信息的一个表。存储在数据字典中的信息称为元数据,即记录关于数据的数据,如长表名、长字段名(库表名:128字符,自由表名:10字符)、字段有效性规则以及有关数据库中对象的定义。数据完整性设置,包括表的字段属性(域完整性)、记录规则、(实体完整性)表之间的永久关系和参照完整性等。字段属性(参看教材字段属性(参看教材P92P92)表设计器中各选项的含义:格式:即输出掩

37、码。它决定字段在浏览窗口、报表或表单中的数据显示样式。输入掩码:控制用户输入格式。如“A99999”8/5/202440Visual FoxPro 6.0程序设计数据字典的作用数据字典的作用 记录规则记录规则包括记录有效性和触发器。记录有效性规则:记录有效性规则:如输入len(alltrim(学号)=8 and 性别$“男女”触发器:触发器:是一个对表中记录进行插入、更新或删除时运行的一个逻辑表达式或存储过程来完成指定任务。分为插入触发器、三大类。插插入入触触发发器器:在数据库表中插入记录时所触发的检测程序。检测结果为真时才接受插入的记录。更更新新触触发发器器:在数据库表中修改记录时所触发的检

38、测程序。检测结果为真时才能实现更新操作。删删除除触触发发器器:在数据库表中删除记录时所触发的检测程序。检测结果为真时才能删除记录。如输入Messagebox(“真的要删除吗”,275,“提示信息”)=68/5/202441Visual FoxPro 6.0程序设计数据库表间关系设定数据库表间关系设定 VFP是一个关系型数据库管理系统。在每个不同的表中存储的数据之间有一定的关系。通过在这些表之间定义关系后,可以利用这些关系来查找数据库中有关的信息。 表之间有三种关系:即一对一关系、一对多关系和多对多关系一对一关系、一对多关系和多对多关系 在一对一关系中 如果两个表有相同的主题,可在两个表中使用同

39、样的主关键字字段,并以此建立一对一关系。如果两个表有不同的主题及不同的主关键字,选择一个表(任意哪个表)把它的主关键字放到另一个表中作为外部关键字。 在一对多关系中要建立这样的关系,就要把关系中“一方”的主关键字字段添加到“多方”的表中。在关系中,“一方”用主关键字或候选索引关键字,而“多方”使用普通索引关键字。 在多对多关系中向VFP正确指定关系之前,需要改变数据库的设计,即创建第三个表,把多对多关系分解为二个一对多关系。这第三个表称作“纽带表”,纽带表可能只包含这两个表的主关键字,也可能包含其它信息。 8/5/202442Visual FoxPro 6.0程序设计设置参照完整性设置参照完整

40、性P95-96 P95-96 参照完整性与表之间的联系有关,是指在对一个数据表中的数据操作时,通过参照引用相互关联的另一个数据表中的数据,来检查操作是否正确。在建立参照完整性之前,首先要清理数据库,为的是删除数据库中所有带删除标记的记录,方法是:打开“数据库设计器”,单击“数据库”菜单中的“清理数据库”命令。 参照完整性分为更新、删除和插入规则。8/5/202443Visual FoxPro 6.0程序设计更更新新规规则则:规定了当更新父表的连接字段(主表)值时,如何处理子表中的记录,有3种处理方式:级联:用新的连接字段值自动修改子表中的所有相关记录。限制:若子表中有相关的记录,则禁止修改父表

41、中的连接字段值。 忽略:不做参照完整性检查,可以随意更新父表记录的连接字段值。 删除规则:删除规则:规定了当删除父表中的记录时,如何处理子表中的相关记录。级联:自动删除子表中的所有相关记录。限制:若子表中有相关的记录,则禁止删除父表中的记录。忽略:不做参照完整性检查,删除父表记录时与子表无关。插入规则插入规则:规定了当插入子表中的记录时,是否进行参照完整性检查。限制:若父表中没有相匹配的连接字段值则禁止插入子记录。忽略:不做参照完整性检查,可随意插入子记录。 8/5/202444Visual FoxPro 6.0程序设计将表加入到数据库将表加入到数据库 1、创建数据库、创建数据库 2、将表加入

42、到数据库、将表加入到数据库 要将一个或多个表加入到数据库中时,可以在“项目管理器”中选择“数据数据”选项卡,再从列表中选择“数据库数据库”项下的“表表”,最后选择【添加】按钮。要添加的表必须具备下列条件:要添加的表必须具备下列条件:该表是一个有效的.DBF文件;除非为表指定一个唯一的长文件名,否则表不允许与打开的数据库中已有的表同名。表不能同时放在另一个数据库中。要加入表的数据库必须具备下列条件:要加入表的数据库必须具备下列条件:必须以独占方式打开。要想独占地打开一个数据库,在使用OPEN DATABASE命令时加入EXCLUSIVE子句;不包含在事务中。 8/5/202445Visual F

43、oxPro 6.0程序设计小结小结 1、建立表前要做好准备,将每个表的字段名、类型、宽度、小数位、等以表格的形式进入充分的描述。2、可以通过项目管理器和使用CREATE命令建立表,也可以通过COPY STRUCTURE命令从其它表中复制表结构,还可以使用CREATE带FROM子句从一个表结构文件中得到表结构。3、一个表由表结构和数据构成,没有数据的表是没有意义的。表结构可以通过项目管理器和MODIFY STRUCTURE命令打开表设计器进行修改。4、表在使用前要先打开,表中的记录可以用APPEND、INSERT INTO等命令进行追加,也可以使用DELETE命令进行删除,还可以使用BROWSE命令打开全屏幕编辑窗口进行修改和浏览,可以用REPLACE命令替换数据。5、从表中提取数据时,要对表中的记录进行定位。6、可以用菜单方式和命令方式创建项目管理器和数据库。7、加入数据库的表可以享受“数据字典”的功能。8/5/202446Visual FoxPro 6.0程序设计

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号