《vfp课件09版数据库、表和索引6学时》由会员分享,可在线阅读,更多相关《vfp课件09版数据库、表和索引6学时(188页珍藏版)》请在金锄头文库上搜索。
1、第2章 数据库、表和索引,2-1 基本概念和操作,2- 数据库,2- 创建数据表,2- 数据表的基本操作,2- 查询与统计操作,2-6 多工作区操作,2-7 小结,第2章 Visual FoxPro的基本操作,第一节 基本概念和操作,4-1 基本概念和操作,4-1-1 Visual FoxPro的基本操作方式 Visual FoxPro与前期的数据库产品一样,都可以支持两类不同的基本操作方式,即交互式操作方式(手动操作)和程序操作方式(自动运行)。,1交互式方式 Visual FoxPro的交互式操作方式有命令执行与界面操作两种类型。 命令执行方式与界面操作方式是一致的。许多的命令功能都可以通
2、过相应的菜单选择来实现。事实上,当用户选择了某一菜单命令并执行它时,在命令窗口中便会自动显示与其对应的键盘命令,就好像用户通过键盘输入了该命令一样,所以在Visual FoxPro中,用户可以任意选用或交替使用这两种方法。,2程序操作方式 程序执行方式就是将一系列的语句或命令存储在一个文件中而成为一个程序文件(.PRG),通过运行该程序文件,完成某些特殊的功能。程序操作方式不仅运行效率高,而且可重复执行。,交互式操作方法虽然方便、灵活,但是当用户需要反复执行某些相同的命令序列,或处理较复杂的问题时就不能发挥计算机高速度、自动化运行的优势。为此,Visual FoxPro提供了程序执行方式来解决
3、该问题。,4-1-2 命令操作的基本要求,1命令的一般格式 为了熟练掌握各种命令的使用方法,首先要了解命令的语法规则,以便读者正确地使用命令。命令的一般格式如下所示: 命令关键字 范围 ; FOR WHILE,2命令书写规则 (1)文件命名方法 文件名由主文件名和扩展名两部分组成。主文件名由字符组成,字符可以包括字母、数字、下划线、连字符等。扩展名由“”加3个字母组成,表示文件类型。,(2)本书命令、函数符号的约定 Visual FoxPro的命令在书写时,为了便于叙述,常引入下列几个符号,其约定如下。 l :其中的内容是可选项,不选时系统自动取默认值。但在程序输入时或在命令窗口中输入时均不书
4、写这对“”,而只写其中参数的内容。 l :其中的内容是用户的选择项,通常有多种可能供用户选择一种。若不在内,则为必选项,即用户必须选择多种可能中的一种;若在 内时,当不选“ ”中的内容时,其“”中的内容也不能选,而当选择“ ”中的内容时,其“ ”中的“”内的内容就为必选项。但在程序输入时或在命令窗口中输入时均不书写这对“”,而只写其中的参数的内容。 l :为二选一表示符。要求用户从本符号的左右两项中选择一顶。同样,在命令或函数的输入中,“/”线也不要写。 l .:省略符。它表示在一个命令或函数表达式中,某一部分可以按同一方式重复。,3命令格式的说明 从上述命令格式可以看到,Visual Fox
5、Pro命令主要由5个部分组成。 (1)命令关键字 (2)表达式表 (3)范围子句 (4)FOR条件子句 (5)WHILE 条件子句,Visual FoxPro命令主要由5个部分组成,各部分功能如下。 (1) 命令关键字:是一个英文动词,是Visual FoxPro的命令名,用来指定计算机要完成的操作。例如STORE、LIST、COPY TO等都是命令关键字,分别表示定义内存变量、显示表的记录、复制表的内。,(2) 表达式表:表达式表子句是由数据和运算符一起构成的有意义的式子,各表达式表是一个或多个由逗号分隔开的表达式。该表达式在一般情况下由表中字段名构成。表达式除了可以是字段、字段名表外,还可
6、以加进运算符,如“单价*1.05”也是一个表达式。,(3)范围子句: 范围子句用来指定命令可以操作的有效记录范围。范围可有下列四种选择: ALL:指当前表中的全部记录 ; NEXT n:指从当前记录开始的连续N条记录 ; RECORD n:指当前表中的第N号记录; REST: 指从当前记录开始到最后一条记录为止的所有记录 ;,(4)FOR条件子句:对满足条件的记录进行操作,如果使用FOR子句,VPF6.0将记录指针重新指向表文件顶部,系统会用FOR条件与每条记录进行比较。,(5) WHILE 条件子句:在表文件中,从当前记录开始,按记录顺序从上向下处理,一旦遇到不满足条件的记录,就停止搜索并结
7、束该命令的执行。,FOR和 WHILE都是条件子句,但在默认范围选择项条件下主要有两点不同: FOR子句是从首记录开始判断逻辑表达式是真还是假,而WHILE子句则从当前记录起判断条件是否成立; FOR子句对逻辑表达式取真值的所有记录进行规则操作,不管这些记录是呈连续排列或是间断排列。而WHILE子句是从当前记录开始,只要遇到其逻辑表达式取假值就停止操作,不管其后是否有满足条件的记录。,4-1-3 命令的输入与编辑,1命令的输入 在Visual FoxPro命令窗口中按命令的语法规则键入需要操作的命令,最后按下Enter键,就可以执行该命令了。 2命令的编辑 命令窗口是一个可以编辑的窗口,可以在
8、命令窗口中进行各种编辑操作,如插入、删除、拷贝、剪切等,或者用光标和滚动条在整个命令窗口中上下移动。这些特性对命令输入起了很大的帮助作用。比如要键入一个和上一次命令相似的命令,那么只需将光标移动到上一条命令上,然后输入或删除命令的不同部分,最后按下Enter键,就可以执行这条新命令了。,3输入命令时的注意事项 (1) 命令关键字不能省略,必须是命令行的第一个英文动词,其它子句可以以任意顺序跟在其后,命令动词与各子句之间用一个或多个空格隔开,如: EDIT FIELDS 学号,姓名,班级 ALL FOR 高等数学=85 EDIT ALL FIELDS 学号,姓名,班级 FOR 高等数学=85 E
9、DIT FOR 高等数学=85 ALL FIELDS 学号,姓名,班级 (2) 命令动词和VISUAL FOXPRO保留字一般可用前4个或4个以上字母简写。如: DISPLAY MEMORY DISPL MEMO DISP MEMO,(3) 当表达式中,由FIELDS引导字段名表时,字段名表中的各字段间必须用逗号分割,但逗号“,”必须是在英文状态下输入的西文逗号“,”。 (4) 命令、关键字、变量名和文件名中的字母既可以大写也可以小写,还可以大写、小写混合,三者等效。,(5) 虽然命令窗口可以上下左右滚动,也可以在一行把命令输完,但屏幕的左右滚动会很不方便,这时不妨尝试一下续行操作。输入命令时
10、可以在命令的关键字或子句之间加分号(;),然后按回车键,再在下一行输入命令的剩余部分,这样就可以把一条长命令分成好多行来写。进行续行操作,应注意以下几点: 命令的最后一行不能以分号结尾。如: REPLACE ALL 实发工资 WITH (基本工资+职务津贴+奖金-养老保险)*1.03 FOR 工龄20 当一条命令被分成多行输入时,如果想同时使用命令加入一些注释,此时注释不能出现在分号之后,而只能将注释放在命令的最后一行的后面。 当准备执行一个被分成多行的命令时,可将光标放在该命令的任意一行上,然后按下Enter键。,第二节 数据库和表,数据库的通俗理解,数据库可以理解为表与表之间关系的集合;
11、表可以理解为我们日常见到的二维报表; 而在VFP中,表又分成自由表和数据库表两种。,表的结构,自由表和数据库表,数据库表包含许多自由表没有的属性 数据库表和自由表可以相互转换 自由表添加到数据库中成为数据库表 数据库表移出数据库成为自由表 一个表只能属于一个数据库 如果要将表从一个数据库转到另一个数据库中,必须先将它移出前一个数据库,才能加入后一个数据库。,自由表和数据库表的关系,VFP的菜单栏,VFP菜单栏的菜单项,会随着不同操作对象的打开而发生变化,这与WINDOWS界面风格有所不同。所以,要使用某个特定的菜单,首先要打开相应的对象。,VFP数据库基本操作,1、表的建立和修改 2、记录的添
12、加与修改 3、记录查找与筛选 4、数据索引与排序 5、字段替换 6、建立表间关系 7、查询和视图,第三节 表的建立和修改,表的建立和修改,1、用表设计器创建和编辑表结构 2、在数据库中直接创建数据库表 3、在数据库中添加和移除表 4、用表向导创建表结构 5、复制库文件命令 COPY 6、复制表结构、追加记录形成新表,1、用表设计器创建和编辑表结构,新建表表设计器 或者 显示表设计器,作业64 建立自由表,建立一个自由表rygl-1.dbf,并录入下表数据:,作业67 修改表结构,将gzb.dbf的“基本工资”字段修改为“工资”。,2、在数据库中直接创建数据库表,新建数据库新建表 或者 显示数据
13、库设计器,作业65 建立数据库表,建立一个数据库gzb.dbc,并在其中建立一个数据库表gzb.dbf,录入下表数据:,3、在数据库中添加和移除表,数据库设计器添加表 作业66 将自由表添加到数据库中 将自由表rygr-1.dbf复制为rygl-2.dbf,添加到刚建立的数据库gzb.dbc中。注意,请保留自由表rygl-1.dbf,下面的作业还要多次使用此表。,从数据库中删除表,右键单击数据库表,点击“移走”或“删除”,4、用表向导创建表结构,作业68 使用表向导创建新表 使用表向导创建一个新表gzb-new.dbf,以gzb.dbf为模版,只保留其“姓名”、“性别”和“基本工资”三个字段。
14、,用表向导创建的新表,【格式】COPY TO FIELDS FOR WHILE ,1复制任何类型的文件,【格式】COPY FILE TO TO ,2复制表文件,【格式】COPY STRU TO FIELDS,3复制表的结构,5、 表的复制,COPY FILE 命令,COPY FILE FileName1 TO FileName2 COPY FILE 创建文件 FileName1 的一个备份。可使用 COPY FILE 复制任何类型的文件。要复制的文件不能打开。源文件名 FileName1 和目标文件名 FileName2 都要包含扩展名。 若使用 COPY FILE 复制含有备注字段、结构索引
15、或两者兼有的表,则必须同时复制 .FPT 和 .CDX 文件。,copy to 命令,COPY TO FileName 用当前选定表的内容创建新文件。 FileName 指定 COPY TO 要创建的新文件名。若文件名中不包含扩展名,则指定扩展名为文件类型的默认扩展名。若不指定文件类型,则 COPY TO 创建一个新的 Visual FoxPro 表,并且用默认扩展名 .DBF 指定表文件名。,6、复制表结构、追加记录形成新表,作业69 向新表中追加数据 将rygl-2.dbf和gzb.dbf的数据追加到新建的空表gzb-new.dbf中。,追加来源对话框,这里可以 筛选字段,追加数据后的新表
16、,第三节 记录的添加与修改,作业71 记录的添加和删除,1、将自由表rygl.dbf复制为rygl-del,添加一条有关你的信息的新记录 2、然后删除王堰的记录,并将除你自己以外的全部男同志记录用条件删除的方法一次删除。,记录的添加,浏览方式和编辑方式,记录指针,记录的删除与恢复,可在“浏览”或“编辑”窗口中删除记录 点击作删除标记 选“表/彻底删除”对打了删除标记的记录作真正删除,删除标记当再次单击时,为取消标记,删除记录分两步进行:第一步将要删除的记录做删除标记,第二步才将记录真正从表中删除。,1记录的逻辑删除,逻辑删除操作,物理删除,作业71的逻辑删除,作业71的物理删除,若要有选择的删除一组记录,可单击“表/删除记录”,填写对话框。例如:,可将学生表中“入学成绩600分”的所有记录作删除标记; 要作物理删除,再单击“表/彻底