VF复习一(VF数据库与数据表常用命令)
- 格式:pptx
- 大小:1.99 MB
- 文档页数:49
VFP中常用命令一、数据库的建立、打开、关闭和删除建立数据库:CREATE DATABASE [databasename|?]从磁盘中删除数据库:CREATE DATABASE [databasename|?]ELETE DATABASE databasenameDELETE DATABASE databasename|?打开数据库:OPEN DATABASE [EXCLUSIVE|SHARED][NOUPDATE]打开数据库设计器(允许用户按交互方式编辑当前数据库):MODIFY DATABASE [databasename|?]指定的数据库databasename为当前数据库。
指定当前的数据库:SET DATABASE TO [databasename]Databasename必须为已经打开的数据库。
如果省略数据库名称databasename,则不指定当前数据库(没有当前数据库)。
关闭数据库:CLOSE DATABASE [ALL]关闭当前数据库,如果带ALL子句,则关闭所有打开的数据库。
二、数据表和视图的建立、打开、关闭和删除建立数据表(SQL命令):CREATE TABLE | DBF tablename (Col_name1 Type1 [NOT NULL/NULL][{,Col_name2 Type2 [NOT NULL/NULL]}...])table_name是所创建的数据表的名字。
Col_name1,Col_name2,...是表中列的名。
Type1, Type2...是相应列的数据类型(VFP的数据类型见表3-9)。
如果说明为NOT NULL,则列中不允许分配空值(这种情况下,列不能包含空值,如果插入空值,将返回错误信息)。
向当前打开的数据库中添加数据表:ADD TABLE tablename|?从当前打开的数据库中删除数据表:REMOVE TABLE tablename|? [DELETE]如果包含DELETE子句,将从磁盘中删除这个表文件,否则,只从数据库中删除,但文件仍保存在磁盘中。
3.删除记录在Visual FoxPro中删除记录有逻辑删除和物理删除两种,所谓逻辑删除只是在记录旁作删除标记,必要时还可以去掉删除标记恢复记录;而物理删除才是真正从表中删除记录。
物理删除是在逻辑删除的基础上进行的,即物理删除是将那些有删除标记的记录真正删除。
二、增加记录的命令1.APPEND命令APPEND命令是在表的尾部增加记录,它有两种格式:APPEND或APPEND BLANK。
2.INSERT命令INSERT命令可以在表的任意位置插入新的记录,它的命令格式是:INSERT [BEFORE][BLANK]三、删除记录的命令1.置删除标记的命令逻辑删除或置删除标记的命令是DELETE,常用格式如下:DELETE [FOR lExpression1]如果不用FOR短语指定逻辑条件,则只逻辑删除当前一条记录;如果用FOR短语指定了逻辑表达式lExpression1,则逻辑删除使该逻辑表达式为真的所有记录。
2.恢复记录的命令被逻辑删除的记录可以恢复,恢复记录的命令是RECALL,常用格式如下:RECALL [FOR lExpression1]如果不用FOR短语指定逻辑条件,则只恢复当前一条记录,如果当前记录没有删除标记,则该命令什么都不做。
如果用FOR短语指定了逻辑表达式lExpression1,则恢复使该逻辑表达式为真的所有记录。
3.物理删除有删除标记的记录物理删除有删除标记记录的命令是PACK,执行该命令后所有有删除标记的记录将从表中删除,并且不可能再恢复。
4.物理删除表中的全部记录使用ZAP命令可以物理删除表中的全部记录,不管是否有删除标记。
该命令只是删除全部记录,并没有删除表,执行完该命令后表结构依然存在。
四、修改记录的命令1.用EDIT或CHANGE命令交互式修改2.用REPLACE命令直接修改可以使用REPLACE命令直接用指定表达式或值修改记录,REPLACE命令的常用格式是:REPLACE FieldName1 WITH eExpression1 [,FieldName2 WITH eExpression2]…[FOR lExpression1]该命令的功能是直接利用表达式eExpression的值替换字段FieldName的值,从而达到修改记录的目的。
数据表操作命令1、创建数据表命令:格式:CREATE [<表文件名>/?]功能:新建一个VF数据表2、打开数据表命令:格式:USE [<表文件名>]功能:打开指定的数据表或关闭数据表3、关闭数据表命令格式:CLOSE DATABASES功能:关闭所有工作区中打开的数据表文件及相关文件,选择1号工作区为当前工作区格式:CLOSE ALL功能:关闭所有工作区的所有文件,选择1号工作区为当前工作区格式:CLEAR ALL功能:关闭所有文件,释放内存变量,选择1号工作区为当前工作区格式:QUIT功能:关闭所有文件,安全退出VF,返回宿主操作系统4、显示表结构命令格式1:LIST STRUCTURE格式2;DISPLAY STRUCTURE功能:在主窗口显示当前打开的数据表结构5、修改表结构命令格式:MODIFY STRUCTURE功能:显示并修改当前打开数据表结构6、复制表结构命令格式:COPY STRUCTURE TO <表文件名>[FEILES<字段名>]功能:对当前数据表结构进行复制,形成一个指定名称的新表结构7、复制数据表命令格式:COPY TO <表文件名>[<范围>] [FOR<条件>] WHILE<条件>][FIELDS<字段表>] [TYPE<文件类型>]功能:对当前数据表中指定范围内符合条件的记录进行复制,形成一个指定名称的新数据表8、追加与插入记录命令格式:APPEND [BLANK]功能:在当前数据表的末尾增加新记录格式:APPEND FROM<表文件名>[FOR<条件>] [WHILE<条件>] [FILEDS<当前表字段表>][TYPE<文件类型>]功能:由磁盘上指定的表文件中,将规定范围内符合条件的记录自动添加到当前数据表的末尾。
VF常用命令总结1. vfread该命令用于读取图像文件。
示例:vfread image.jpg2. vfview该命令用于查看当前图像。
示例:vfview3. vfopen该命令用于打开图像文件。
示例:vfopen image.jpg4. vfclose5. vfsave该命令用于保存当前图像文件。
示例:vfsave new_image.jpg 6. vfresize该命令用于调整图像的尺寸。
示例:vfresize 800 6007. vfrotate该命令用于旋转图像。
示例:vfrotate 908. vfflip该命令用于翻转图像。
示例:vfflip vertical9. vfgrayscale该命令用于将图像转为灰度图。
示例:vfgrayscale10. vfbrightness该命令用于调整图像的亮度。
示例:vfbrightness 5011. vfcontrast该命令用于调整图像的对比度。
示例:vfcontrast 0.512. vfhistogram该命令用于生成图像的直方图。
示例:vfhistogram13. vfthreshold该命令用于将图像进行二值化处理。
示例:vfthreshold 12814. vfblur该命令用于对图像进行模糊处理。
示例:vfblur 515. vfsharpen该命令用于对图像进行锐化处理。
示例:vfsharpen16. vfsobel该命令用于对图像进行边缘检测。
示例:vfsobel17. vfflipbook该命令用于创建图像翻页动画。
示例:vfflipbook 1018. vffilpbookreverse该命令用于反向创建图像翻页动画。
示例:vfflipbookreverse 10 19. vfmerge该命令用于合并多张图像。
示例:vfmerge image1.jpg image2.jpg。
VF 常用命令第三章命令:一、数据库命令1、创建数据库:creat database数据库名2、打开数据库:open database数据库名3、修改数据库:modify database数据库名4、关闭数据库:close database5、删除数据库:delete databas e 数据库名(被删除的数据库不能处于打开状态)二、表的操作命令1、创建表:create表名2、打开表:use表名3、修改表:modify stru表名4、关闭表:close table5、浏览表:browse6、删除表:drop table表名7、增加记录:append或ctrl+y8、物理删除记录:pack 和zap9、修改记录:replace字段名with字段值for条件10、定位记录指针:go、skip、locate for11、命令创建索引:INDEX ON 表达式(字段名)to\tag 索引名第四章常用命令一SQL查询命令格式:select -------from ------ where ----- order by ----- desc---- group by -----having-------into table计算函数:sum() \ avg() \ count() \ max() \ min()TopIn \ not in 用于where条件包含或不包含的意思Into array 将查询结果存到数组Into cursor 将查询结果存到临时文件into table 将查询结果存到永久表(即VF表里面)select 要查询的内容from 要查询的内容来自的表where查询的内容要满足的条件和表之间的联系order by排序字段名desc降序group by分组字段名having分组条件into table查询结果存入表的表名二操作功能1、插入记录insert into表名(字段名……)values(记录……)2、修改更新记录Update表名set字段名=字段值where条件3、删除记录Delete from 表名where条件三定义功能1、创建表Creat table表名(字段名类型(宽度)primary key主索引check字段有效性规则,…………)2、修改表(修改字段)(1)增加字段Alter table表名add字段名类型(宽度)primary key主索引check 字段有效性规则,……(2)修改已有的字段类型Alter table表名alter字段名类型(宽度)set check字段有效性规则。
VF常用用命令(1)清除格式:CLEAR ALL(2)关闭格式:CLOSE ALL(3)退出VFP格式:QUIT(4)打开数据库格式:OPEN DATABASE<数据库文件名>[EXCLUSIVE|SHARED]示例:OPEN DATABASE 数据库1(5)打开数据表格式:USE <[数据库名.]数据表名|视图名> [IN 工作区] [ALLIAS 别名] [ORDER [TAG] 索引标识] [EXCLUSIVE|SHARED]示例:use 表1(6)绝对指针移动格式1:GO[TO] <TOP|BOTTOM|表达式>示例:use 表1Go 1(7)选择工作区格式:SELECT<区名|区号|别名|0>示例:use 表1 in 1use 表2 in 2select 1listselect 2list(8)赋值格式1:STORE<表达式>TO<内存变量列表>格式2:内存变量名=<表达式>(9)程序执行格式:DO<文件名[.扩展名]> [WITH <参数列表>](10)查询格式1:LOCA TE[范围]FOR|WHILE<条件>格式2:CONTINUE说明:可以在当前表中查找满足条件的记录。
并将所有满足条件的记录号记住。
可通过格式2命令逐一使指针指向各记录。
示例:use 表1locate for a>5use 表1locate for a>5?acontinue?acontinue?a(11)替换格式:REPLACE<字段1>WITH<表达式1>[,<字段2>WITH<表达式2>…=[范围][FOR|WHILE条件]示例:replace 字段名[all] with 目标值[for 条件](12)删除记录格式1:DELETE[范围] [FOR|WHILE条件]格式2:ZAP(13)恢复删除记录RECALL[范围] [FOR|WHILE条件](14)彻底删除记录格式:PACK(15)事务处理格式:READ EVENTS [OBJECT 对象编号]说明:激活所有已定义的,开始事件的处理,进入事务处理状态。
VFP命令、函数及程序语句大全(一)学过VFP〔Microsoft Visual FoxPro〕的朋友都知道它是微软公司开发的数据库管理系统。
它经历了从dBASE、FoxBASE、FoxPro直到VFP的开展过程。
本文便以VFP 6.0为例介绍它的命令、函数及程序语句,为学习VFP的朋友提供必要的学习参考,也为已经精通VFP的朋友提供复习的好时机。
一主要命令:1、CREATE 作用:建立一个新的表。
格式:CREATE [<文件>|?]〔注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。
〕说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出对话框,要求用户输入想要建立的表名。
在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。
2、MODIFY STRUCTURE作用:显示表文件构造,并允许修改此表的构造。
格式:MODIFY STRUCTURE说明:只有在用USE命令翻开表文件以后,才能显示或修改表文件的构造。
3、APPEND作用:在当前表的尾部〔无论表中有无记录〕追加记录〔在当前表指当前正使用的表〕。
格式:APPEND [BLANK]说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。
无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
4、INSERT作用:在表文件中间插入一个新记录。
格式:INSERT [BEFORE] [BLANK]说明:INSERT 在当前记录后插入一记录;INSERT BEFORE 在当前记录前插入一记录;INSERT BEFORE BLANK 在当前记录前插入一空记录。
5、BROWSE作用:主要用于翻开浏览窗口,查阅表文件并同时进展修改。
格式:BROWSE6、USE作用:翻开和关闭表文件。
基本操作:1、新建数据库命令:CREATE <文件名>2、打开数据库命令:USE <文件名>3、浏览数据库命令:BROWSE4、查找记录命令:LOCATE 例:Loca all for 性别=’女’Loca all for 工资>160.00 .AND. 工资<180.00常和继续查找命令CONTINUE连用。
FIND 例:find <字符串>/<n>使用前需要先排序。
SEEK 例:seek <表达式>表达式是字符串时,必须用“”引起来。
如seek “卫明”5、增加库记录命令:APPEND &&增加记录命令APPEND BLANK &&增加一条空记录APPEND FROM <文件名> [FOR<表达式>] &&从一个文件复制记录到现行数据库中6、插入记录命令INSERT格式:insert [blank] [before]use <文件名>go 5insert before7、库记录的删除DELETE格式:DELETE [<范围>] [FOR<表达式>] [WHILE<表达式>]功能:给符合条件的库记录加上删除标记。
例:delete all for 性别=’女’PACK格式:PACK功能;把打开的数据库文件中作过删除标记的记录真正删除掉。
ZAP格式:ZAP功能;从打开的数据库文件中删除所有记录8、恢复命令RECALL格式;RECALL [<范围>] [FOR<表达式>] [WHILE<表达式>]功能;恢复打开的数据库文件中带有删除标记的记录9、库记录的修改EDIT格式:EDIT [<范围>] [FIELDS<字段名表>] [FOR<表达式>] [WHILE<表达式>]CHANGE格式:CHANGE [<范围>] [FIELDS<字段名>] [FOR<表达式>] [WHILE<表达式>]BROWSE格式:BROWSE [FIELDS<字段名>] [LOCK<表达式>] [FREEZE<字段名>]10、替换命令REPLACE格式;REPLACE [<范围>] <字段名1> WITH <表达式1> [,<字段名2> WITH<表达式2>…] [FOR<表达式>] [WHILE<表达式>]功能:用来替换打开的数据库文件中指定字段的数据。
第一章 VF数据库基础1.4 vf系统简介Vf6.0是可运行于windows平台的 32位数据库开发系统1.5 项目管理器1.定义:指文件、数据、文档和visual foxpro对象的集合,是将一个应用程序的所有文件集合成一个有机的整体。
扩展名.pjx2.项目管理器包含的选项卡:●数据:数据库,自由表,查询●文档:表单,报表,标签●类:●代码:程序、函数库API,应用程序●其他:文本文件,菜单文件,其他文件●全部:包含以上各类文件3.在项目管理器中,可以:新建文件、添加文件、删除文件、修改文件,不可以重命名文件4.退出VF命令:quit1.6 数据库基础知识数据:是存储在某种媒体上能够识别的物理符号。
数据处理:将数据转化为信息的过程。
DBS(数据库系统)包括DB(数据库)、DBAS(数据库应用系统)、DBMS(数据库管理系统)数据库系统的组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。
数据库系统的核心是:数据库管理系统(DBMS)数据模型:层次模型(用树型结构表示实体及其之间联系的模型称)网状模型(用网状结构表示实体及其之间联系的模型)关系模型(用二维表来表示实体以及实体之间联系的模型。
以关系数学理论为基础)1.7关系数据库“关系”指的是:表文件(.dbf文件)外部关键字:若表中的一个字段不是本表的主关键字或候选关键字而是另外一个表的主关键字或候选关键字,这个字段就称为外部关键字。
传统的集合运算并:两个关系的元组的集合。
差:属于一个关系而不属于另一个关系的元组的集合。
交:两个关系中的公共元组。
专门的关系运算:选择:从关系中找出满足给定条件的元组的操作称为选择。
投影:从关系中制定若干属性,组成新的关系。
投影是从列的角度进行的运算。
连接:把两个关系拼接成一个关系的运算。
第二章数据与数据运算2.1 常量与变量2.1.1 常量常量的数据类型:字符数值日期日期时间货币逻辑●字符常量:可以使用的定界符“”‘’ []●数值常量:1.23E-5 科学计数法●日期常量:分严格日期格式:{^yyyy-mm-dd}传统日期格式:{mm/dd/yy}Set strictdate to 0 可以使用传统日期格式Set strictdate to 1/2 必须使用严格日期格式默认情况下使用严格日期格式Set mark to “-”日期分隔符(”/”,”–““.”)默认 /Set date to mdy /dmy/ymd 设置日期顺序默认 mdySet century on 4位年份显示Set century off 2位年份显示(默认)Set century to 世纪值 rollover 年份参照值当输入两位的年份小于参照值,输出年份世纪值+1如: set century to 19 rollover 20R={10/21/13}?r 输出为: 2013年10月21日R={10/21/95}?r 输出为: 1995年10月21日●日期时间常量●逻辑常量:.t. .f.(.y. .n.)在主窗口口只显示 .t. 和 .f.货币型常量:使用$ ,保留4位小数2.1.2 变量1.变量三要素:变量名数据类型变量值2.变量分类:字段变量和内存变量当内存变量和字段变量同名时,字段变量优先使用,如果要使用内存变量M.变量名或 M->变量名3.内存变量赋值用= 或 storeStore 值 to 变量1,变量2,…Store 一次可以对多个变量赋相同的值。
1、创建数据库:①.在项目管理器中建立②.在菜单中建立③.命令:creat database 数据库名2、打开数据库:open database 数据库名3、删除数据库:delete database 数据库名4、修改数据库:modify database 数据库名5、关闭数据库:close database6、打开表设计器:modify structure7、增加表中字段:alter table 表名add 字段名8、删除表中字段:alter table 表名drop 字段名9、修改表中字段:alter table 表名rename 原字段to 新字段10、更改字段类型及宽度:alter table 表名alter 字段名+类型(宽度)11、显示表:list structure12、显示全部表记录:list13、显示当前表记录:display14、记录的绝对定位:go n15、浏览,修改表:browse16、编辑,修改表:edit/change17、批量修改:replace all 字段with 字段18、逻辑删除(只在记录前加*,不删除):delete19、恢复逻辑删除:recall20、物理删除:①.pack 只删除带*的记录②.zap 物理删除表中全部记录21、关闭表:use22、打开表:use 表名23、复制表记录:use 表名;copy to 新表名24、复制表结构:use表名;copy structure to 新表名25、追加表记录:①.将另一个表中的记录添加到该表中:use要追加记录的表名;append from有记录的表名②.在尾部追加记录:append③.在尾部增加一条空记录:append blank26、插入表记录:①.在当前记录的的后面插入一条记录insert after②.在当前记录的的后面插入一条空记录insert blank③.在当前记录的的前面插入一条记录insert after26、显示所有含条件的记录:list for27、显示满足条件的记录:list while28、显示字段:list fields29、指针记录的定位:①.bof() 文件头②.go top 第一条记录③.go bottom 最后一条记录④.eof() 文件尾⑤.skip 向下一条记录(不包含当前记录)⑥.all 所有记录⑦.locate for 满足条件的第一条记录⑧.continue 继续查找满足条件的下一条记录30、记录的范围:①.next n 向下n条记录②.rest 从指针指向位置开始的所有记录③.record n 当前记录31、在数据库关闭/删除的情况下建立的表为自由表,自由表字段名最长为10个字符31、在数据库打开/修改的情况下建立的表为数据库表,数据库表字段名最长为128个字符32、创建数据库表:open database 数据库名;creat表名33、创建自由表:确定当前没有打开数据库,使用命令:creat 表名34、将自由表添加到数据库中:open database 数据库名;add table 表名35、将数据库表移出数据库:open database 数据库名;remove table 表名二、常用表单及属性、事件和方法(红色代表必须背下来,蓝色代表必须熟悉)涉及字型的属性:FontSize、FontName、FontColore、FontBold、FontItalic等。
VFP常用命令,函数,属性,事件和方法一.常用命令1.CREATE TABLE-SQL创建一个含有指定字段的表。
2.ALTER TABLE-SQL以编程方式修改表的结构。
3.SELECT激活指定工作区。
4.USE打开一个表及其相关索引文件,或打开一个SQL视图。
5.CLOSE TABLES关闭所有打开数据库中的所有表。
6.COPY STRUCTURE用当前选择的表结构创建一个新的空自由表。
7.COPY TO用当前选定表的内容创建新文件。
8.RENAME TABLE重命名当前数据库中的表。
9.BROWSE打开浏览窗口。
10.A PPEND在表的末尾添加一个或多个新记录。
11.A PPEND FROM从一个文件中读入记录,添加到当前表的尾部。
12.G O/GOTO将记录指针移到指定记录上。
13.L OCATE按顺序搜索表,从而找到满足指定逻辑表达式的第一个记录。
14.S EEK在一个表中搜索首次出现的一个记录。
15.S KIP使记录指针在表中向前或向后移动。
16.C ONTINUE继续执行先前的LOCA TE命令。
17.E DIT显示要编辑的字段。
18.D ELETE给要删除的记录做标记。
19.D ELETE-SQL给要删除的记录做标记。
20.P ACK从当前表中永久删除有删除标记的记录。
21.R ECALL恢复所选表中带删除标记的记录。
22.Z AP从表中删除所有记录。
23.I NSERT-SQL在表尾追加一个包含指定字段值的记录。
24.R EPLACE更新表的记录内容。
25.U PDATE-SQL以新值更新表中的记录。
26.S ET EXCLUSIVE指定Visual FoxPro在网络上是以独占方式,还是以共享方式打开表文件。
27.S ET FILTER指定访问当前表中记录时必须满足的条件。
28.S ET DELETED指定Visual FoxPro 是否处理标有删除标记的记录。
29.S ET INDEX打开一个或多个索引文件,供当前表使用。
VF常用命令和程序命令一、主要命令:1、CREATE作用:建立一个新的表。
格式:CREATE [<文件>|?](注意,命令字符可取前面四个字符,后面可省略不写,即CREA,下同;中括号表示其中的参数是可选的;|管道符号表示两个参数只能选择一个,不能同时选择,下同。
)说明:文件指建立以.dbf为扩展名的VFP数据库文件,在命令后面加上一个问号表示系统会弹出对话框,要求用户输入想要建立的表名。
在命令中不加文件名或问号系统也会弹出对话框,要求用户输入想要建立的表名。
2、MODIFY STRUCTURE作用:显示表文件结构,并允许修改此表的结构。
格式:MODIFY STRUCTURE说明:只有在用USE命令打开表文件以后,才能显示或修改表文件的结构。
3、APPEND作用:在当前表的尾部(无论表中有无记录)追加记录(在当前表指当前正使用的表)。
格式:APPEND [BLANK]说明:在APPEND命令后面加上BLANK参数表示在当前表的尾部添加一条空白记录。
无BLANK参数时,表示在当前表的尾部添加一条记录并要求用户输入相应的字段内容。
4、INSERT作用:在表文件中间插入一个新记录。
格式:INSERT [BEFORE] [BLANK]说明:INSERT 在当前记录后插入一记录;INSERT BEFORE 在当前记录前插入一记录;INSERT BEFORE BLANK 在当前记录前插入一空记录。
5、BROWSE作用:主要用于打开浏览窗口,查阅表文件并同时进行修改。
格式:BROWSE6、USE作用:打开和关闭表文件。
格式:USE [<文件名>]USE说明:前一个命令用来打开<文件名>指定的表文件,该表如有备注型字段,则同时打开相应的备注文件(.fpt文件);后一个命令关闭当前打开的表文件。
7、LIST和DISPLAY作用:显示表(.dbf)的内容、结构或状态。
格式:LIST|DISPLAY [OFF] [<范围>] [FIELDS] <表达式表> [WHILE <条件>] [FOR <条件>] [TO PRINT|TO FILE <文件>]LIST|DISPLAY STRUCTURE TO PRINT|TO FILE <文件>]LIST|DISPLAY STATUS [TO PRINT|TO FILE <文件>]说明:命令带OFF参数表示不显示记录号,范围指定对哪些记录进行操作,范围包括:RECORD n 第几号记录、NEXT n 当前记录开始的几个记录、REST 自当前记录开始至文件末尾的所有记录、ALL 所有的记录。
VF基础知识第一节课 VF 入门以及(自由表)表格的基本操作一、新建表(.dbf)1.菜单-文件-新建-表2.常用工具栏-新建-表3.命令 create [表名]默认目录的设置:菜单-工具-选项-文件位置-默认目录-双击-选择默认目录-找到驱动器-选择盘符二表格中的字段类型字段类型英文简称宽度定界符字符型 C 可改动 ' ' 或 " " 或[ ] "123"数值型 N 可改动无 123日期型 D 8 {^yyyy-mm-dd} {^1989-02-16}逻辑型 L 1 .T. 或 .F.日期时间型 T 8 {^yyyy-mm-dd [hh[:mm[:ss]]]|[p|a]} 整型 I 4 备注型 M 4 备注型的文件中.ftp通用型 G 41.打开表(1)菜单-文件-打开-选择文件类型中的表(2)常用工具栏-打开(3)命令 use <表名> use f:\董双双\学生信息表要在独占方式下(4)数据工作期窗口-打开2.关闭(当前表)(1)命令 use(2)数据工作期窗口-关闭3.进入当前表的表设计器(1)菜单-显示-表设计器(2)命令 modify structure4.浏览当前表的信息(1)数据工作期窗口-浏览(2)菜单-显示-浏览(3)命令 browse5.修改表中的记录(1)直接修改(2)插入 insert [blank][before] (当前记录之前)(3)追加 append [blank](4)replace 字段名 with 被修改的记录 [for 条件][范围]只能修改当前记录(没有限定范围的前提下)6.删除表中的记录(逻辑删除和物理删除)(1)逻辑删除不会真正删除表中的记录,可以恢复命令 delete [for 条件][范围]恢复 recall [for 条件][范围](2)物理删除会真正把表中打上逻辑删除标记记录删掉,不可恢复命令 pack(3)清空表中的记录 zap (物理删除不可恢复)第二课自由表的基本操作及数据库一自由表的简单命令1.显示表中的记录到VF屏幕上(1) list [for 条件][[fields] 字段][范围]默认显示表中所有的记录(滚屏显示)(2) display [for 条件][[fields] 字段][范围]默认只显示当前一条记录的信息(分屏显示)2.对表中的记录查询定位(1) 绝对定位 go 或 goto [n][top|bottom](2) 相对定位 skip [n](3) 在当前表中查找符合条件的记录,指针直接指向符合条件的第一条记录locate for 条件[continue] 若查找下一条符合条件的记录,用continue 连用二数据库 (.dbc)1.新建(1)文件-新建-数据库(2)常用工具栏-新建-数据库(3)命令-create database [数据库名称]2.进入当前数据库设计器(1)显示-数据库设计器(2)命令-modify database3.关闭当前数据库close database4.打开数据库(1)菜单-文件-打开-文件类型-数据库名(2)open database 数据库名5.将打开的数据库设置为当前数据库(1)鼠标直接点(2)命令 set database to 数据库名6.添加自由表到当前数据库(1)鼠标操作(2)命令 add table 自由表名7.从当前数据库移去表(1)鼠标操作(2)命令 remove table 表名8.从当前数据库删除表(第四章的SQL语句)(1)鼠标操作(2)命令 drop table 表名9.删除数据库(被删除的数据库不能已经打开,必须关闭)delete database 数据库名10.在数据库中新建表(1)文件-新建(2)常用工具栏(3)简单命令 create(4)用数据库设计器的工具栏或在数据库中右单击或数据库的菜单下的子菜单(5)用(第四章)SQL语句(重点)create table 表名(字段名1 类型(宽度)[,字段名2 类型(宽度)..]) create table 学生(姓名 C(8),性别 C(2),出生日期 D,成绩 N(6,2))三、字段有效性(数据完整性中的域完整性)规则:是一个逻辑表达式信息:是一句话相当于字符串,要加字符型的定界符默认值:是跟本身字段类型匹配的记录,要加相应的定界符四、项目管理器(.pjx)第三课索引的建立应用及数据完整性一索引1.分类:简单索引和复合索引2.索引的作用:提高查询速度(但同时会降低更新速度)VF 中的索引是:指针构成的文件,这些指针逻辑上按照索引关键字进行排序,就叫做逻辑上的排序二简单索引(.idx)index on 索引关键字(字段名) to 索引文件名[.idx]例如:index on 工资 to gz打开索引文件set index to 索引文件名例如:set index to gz注意:简单索引一个索引只能建立一个索引项只能按照升序排序,不能按降序三复合索引(.cdx)1.分类:结构复合索引和非结构复合索引2.非结构复合索引index on 索引关键字(字段名) tag 索引名of 索引文件名[.cdx]; [asce|desc]例如:index on 工资 tag 工资d of aa descindex on 地址 tag 地址a of aa打开索引文件set index to 索引文件名例如:set index to aa指定某个索引起作用set order to 索引标识例如:set order to 工资a或地址a3.结构复合索引(1)可以用命令建立index on 索引关键字(字段名) tag 索引名 [asce|desc]指定某个索引起作用set order to 索引标识(2)也可以用表设计器直接做(考试)注意:结构复合索引的文件直接放到当前表格中,随着表格的打开而打开关闭而关闭,一个表中可以有多个结构复合索引表设计器的复合索引类型:类型个数是否有重复值建立方式主索引一个不允许有重复值或空值表设计器候选索引多个不允许有重复值或空值命令candidate 或设计器唯一索引多个允许有重复值或空值命令 unique 或设计器普通索引多个允许有重复值或空值命令或设计器4.删除索引(1)在表设计器中直接删除(2)命令 delete tag 索引名(索引标识) 或 delete tag all四数据完整性1.分类:实体完整性域完整性参照完整性2.实体完整性:就是指表中的主索引和候选索引所代表的记录的唯一性就理解为实体完整性3.域完整性:字段的有效性(规则信息默认值)4.参照完整性:(1)在数据库的表格之间设置永久性连接从同一个数据库的一个表的主索引的公共字段索引名拖向另一个表的公共字段的普通索引名就建立了两个表格之间的永久性连接(2)设置参照完整性首先把所有打开的表格都关闭,选择菜单-“数据库”-清理,然后在数据库空白地方单击鼠标右键选择编辑参照完整性五、工作区 1-32767工作区号最多有32767个,最小的工作区号是1选择工作区用命令 select(1)select 表格名称(2)select 工作区号(3)select A-J 代表1-10号use 表名 in 工作区号use 表名 in 0 :打开一个表放到没有使用的最小的工作区中select 0 :代表选中了没有使用的最小的工作区号六临时性连接(又叫指针的连动)1.用数据工作期窗口建立2.用命令建立例如:use 表1 in 1 order 公共字段索引名use 表2 in 2 order 公共字段索引名select 1 (父表)set relation to 公共字段索引名 into 表2 (子表)七使用索引快速定位 (用seek查找的记录所在的字段必须是当前索引)seek例如: seek "张三"seek "E1"八排序sort to 新表名 on 关键字(字段名) [/a|/d|/c]第四课常量和变量一常量1.固定不变的量称之为常量显示常量变量表达式和函数在屏幕上先换行再输出在屏幕上不换行直接输出2.分类:字符型货币型数值型日期型日期时间型逻辑型(1)字符型C例如:"张三 " "aabb" "1234" "" '' [](2)货币型 Y定界符:$ 例如:$24.6 $79 默认四位小数(3)数值型 N无定界符例如:123.456 70(4)日期型 D定界符 {^yyyy-mm-dd} 例如:{^1989-10-24} 影响日期格式的命令set mark to "分隔符" 设置分隔符set date to ymd或mdy或dmy 设置显示格式set century on 或 off 设置显示4位还是2位年份默认2位set strictdate to 0或1或2 设置是否使用严格日期格式set century to 世纪值 rollover 年份参照值例如: set century to 19 rollover 50日期格式分为严格日期格式和传统日期格式严格日期格式:{^yyyy-mm-dd}传统日期格式:{mm/dd/yy}或{dd/mm/yy}或{yy/mm/dd} (5)日期时间型 T定界符 {^yyyy-mm-dd,[hh[:mm[:ss]]|[a|p]]}(6)逻辑型 L 定界符 .. 例如:.T. .y. .N. .f.二变量能随时变化的1.分类字段变量和内存变量内存变量的数据类型:字符型数值型货币型日期型日期时间型逻辑型(1)简单的内存变量的赋值> 内存变量名=表达式> store 表达式 to 内存变量名表注:"="一行命令只能用一个赋值,而store 可以把一个值赋给多个变量若在当前表中存在一个同名的字段变量,字段变量优先执行,如果想显示内存变量在内存变量名前加:m.内存变量名例如:m.职工号或m->职工号(2)数组 (array) 类型简称 A分类:一维数组和二维数组定义: dimension 数组名(下标上限[,下标上限2])declare 数组名(下标上限[,下标上限2])例如: dimension aa(10) aa(1)-aa(10)dimension bb(2,5) bb(1,1)-bb(2,5)显示内存变量:list memory [like 通配符] 例如:list memory like aa?display memory [like 通配符]注意:通配符"*"代表任意多个字符,"?"代表任意一个字符清除内存变量(1) clear memory(2) release 内存变量名表(3) release all(4) release all [like 通配符]|[except 通配符]将表中的数据与数组中的数据进行交换(1)将表的当前记录复制到数组中scatter to 数组名(2)将数组的数据复制到当前表的当前记录gather from 数组名第五课表达式和函数一、表达式表达式是由常量变量和函数通过特定的运算符连接起来的式子分类: 数值表达式字符表达式日期时间表达式关系表达式逻辑表达式1.数值表达式运算符:() **|^ * / % + -例如:被除数%除数2.字符表达式运算符:+ - 连接字符串3.日期时间表达式运算符:+ -4.关系表达式运算符:< 、> 、<>|#|!=、<=、>=、 =、==、$字符型的比较:空格<a<z<a<z<汉字的拼音< bdsfid="301" p=""></a<z<a<z<汉字的拼音<>运算符"="受命令 set exact off|on 命令的影响,当设置处于off 状态时,指"="右侧的字符是否原样出现在在左侧字符的左边,如果出现就为.t.,否则.f.,当设置处于on 状态时,叫等长比较,指"="左右的两个字长度如果不相等,先在较短的末尾添加空格,直到两侧字符的长度相等再一个一个字符比较$ 子串包含字符串1$字符串2如果左侧字符串出现在右侧字符串的任意位置就返回.T.,否则 .F.5.逻辑表达式运算符: 逻辑非 not 或! 取右侧值的相反结果逻辑与 and 真真才为真逻辑或 or 假假才为假算术运算符>字符串运算符和日期时间运算符>关系运算符>逻辑运算符二、函数格式:函数名( )分类:数值函数字符处理函数日期类函数数据类型转换函数测试函数1.数值函数(1)abs(数值表达式) 求绝对值(2)sign(数值表达式) 求符号(3)sqrt(数值表达式) 求平方根(4)pi() 求圆周率(5)int(数值表达式) 取数值表达式的整数部分(6)ceiling(数值表达式)返回大于或等于数值表达式的最小整数(7)floor(数值表达式) 返回小于或等于数值表达式的最大整数(8)round(数值表达式1,数值表达式2) 四舍五入(9)mod(数值表达式1,数值表达式2) 求余数(10)max(数值表达式1,数值表达式2,数值表达式3)取最大值(11)min(数值表达式1,数值表达式2,数值表达式3)取最小值2.字符函数(1)len(字符表达式) 求字符串长度(2)lower(字符表达式)大写转为小写(3)upper(字符表达式)小写转为大写(4)space(数值表达式) 返回空格(5)trim(字符表达式)删除字符末尾的空格(6)ltrim(字符表达式) 删除字符左侧的空格(7)alltrim(字符表达式) 删除字符左侧和右侧的空格(中间的不删)第六课函数一、字符函数(8)left(字符表达式,长度) 取子串函数(9)right(字符表达式,长度)(10)substr(字符表达式,起始位置[,长度])(11)occurs(字符表达式1,字符表达式2) 返回第一个字符在第二个字符中出现的次数 ,返回数值型(12)at(字符表达式1,字符表达式2[,数值表达式])(区分大小写)求字符1在字符2中第几次出现的位置(13)atc(字符表达式1,字符表达式2[,数值表达式])(不区分大小写)(14)stuff(字符表达式1,起始位置,长度,字符表达式2) 子串替换函数 stuff("abcdef",2,3,"ttttt")(15)chrtran(字符表达式1,字符表达式2,字符表达式3) 字符替换函数(16)like(字符表达式1,字符表达式2) 字符串匹配函数左侧字符表达式1可以出现通配符 ?和 *二、日期和时间函数(1)date() 返回日期型 D(2)time() 返回字符型 C(3)datetime() 返回日期时间型 T(4)year(日期表达式或者日期时间表达式) 返回数值型 N(5)month(日期表达式或者日期时间表达式)(6)day(日期表达式或者日期时间表达式)(7)hour(日期时间表达式)(8)minute(日期时间表达式)(9)sec(日期时间表达式)三、数据类型转换函数(1)str(数值表达式[,长度[,小数位数]]) 数值->字符(2)val(字符表达式) 字符->数值(3)ctod(字符表达式) 字符->日期(4)ctot(字符表达式) 字符->日期时间(5)dtoc(日期表达式或日期时间表达式[,1]) 日期->字符(6)ttoc(日期时间表达式[,1]) 日期时间->字符(7)&字符型变量四、测试函数(1)between(表达式1,表达式2,表达式3)(2)isnull(表达式)(3)empty(表达式) 测试是否是空值(4)vartype(表达式[,逻辑表达式]) 测试数据类型返回英文简称(5)eof([工作区号或表别名]) 表中最后一条的后面(末尾)(6)bof([工作区号或表别名]) 表中第一条记录的前面(首位置)(7)recno([工作区号或表别名]) 返回当前表中的当前记录的记录号(8)reccount([工作区号或表别名]) 返回当前表中的记录条数(9)iif(逻辑表达式,表达式1,表达式2)(10)deleted([工作区号或表别名])第七课程序设计基础一、程序文件的建立与执行1.新建 (.prg)(1)文件-新建-程序(或常用工具栏上的新建)(2)命令 modify command [程序文件名]2.程序是需要建立完毕后保存并运行的文件运行方法:(1)菜单程序-运行(2)常用工具栏上的“叹号”或 ctrl+E(3)命令 do 程序文件名[.prg]3.程序中的注释语句* 和 note 打开头或者用 && 在程序的任意位置都可以是注释语句二、简单的输入输出命令1.输入命令input [字符表达式] to 内存变量默认只能输入数值型的数据,如果要输入其他类型,要加相应的定界符2.输入命令accept [字符表达式] to 内存变量只能输入字符类型的数据,不能加定界符3.输出命令wait [字符表达式] [window][timeout 秒数 ]三、程序的基本结构程序的结构分为:顺序结构选择结构和循环结构1.顺序结构正常情况下程序中的命令语句都是一句一句顺序执行的2.选择结构(1)条件语句 iif(条件,表达式1,表达式2)函数if 条件语句序列1[else语句序列2]endif(2)分支语句do casecase 条件1 2*x-1 x<0语句序列1 3*x+4 3>x>=0case 条件2 y= x+1 5>x>=3语句序列2 7*x+2 x>=5case 条件n语句序列n[otherwise语句序列]endcase3.循环结构一定要有使"条件"趋向于结束的语句存在否则死循环(1)do while 条件语句序列(循环体)enddo第八课多模块程序设计程序循环结构(2)for 变量=初值 to 终止值 [step 步长]语句序列(循环体)endfor(3)scan [for 条件][while 条件]语句序列(循环体)endscan注意:此循环结构只能在当前表中做操作,不能脱离表格在三种循环结构中都能用exit强制退出循环体和loop 返回条件一、模块的定义procedure 或 function 过程名命令序列[return [表达式]]endproc 或 endfunc二、模块的调用格式:1.do 过程名2.过程名()三、参数传递接收参数的命令parameters 形式参数1,形参2....lparameters 形式参数1,形参2....调用格式1.do 过程名 with 实际参数1,实参2....2.过程名(实际参数1,实参2....) 函数调用格式set udfparms to value 按值传递set udfparms to reference 按引用传递函数调用格式受命令的影响,按值传递形参变实参不变按引用传递形参变实参也变,"do "的调用格式不受影响,形参变实参都变四、程序中变量的作用范围1.程序中的变量分为三种:全局变量(公共变量),私有变量,局部变量2.全局变量public 变量名3.局部变量local 变量名4.私有变量除了用public 和local 定义的变量,直接使用的都叫私有变量5.private 变量名作用是隐藏同名的变量,使其暂时不起作用第九课关系数据库标准语言SQL一、SQL的核心内容叫查询 "select"二、查询语句基本格式 (不用打开表就可以操作)1.简单查询select 字段名... from 表名 [where 条件].....在 select 后查询 from 后表格的所有的字段用 "*"distinct 去掉查询结果的重复值 ,一个select 命令只能用一个2.简单连接查询select 字段名.. from 表1,表2... where 表1.公共字段=;表2.公共字段 [and 其他条件]3.嵌套查询最多分两层(外层和内层)select 字段 from 表1 where 公共字段 in|not in;(select 公共字段 from 表2 [where 条件])4.几种特殊的运算符(1)between ..and ..例如:工资 between 1220 and 1250(2)like可以出现通配符"%"代表任意字符 "_"代表一个字符5.排序短语order by 字段1 [asc|desc][,字段2 [asc|desc]...] select -from- where- order by放在整个查询语句的末尾或 where 条件之后,对查询结果进行排序6.简单计算查询count() 统计计数sum() 求和值avg() 求平均max() 求最大值min() 求最小值这5个函数都是用在select 后的字段上或having 的条件里,不能直接出现在 where 条件里7.分组与计算查询 "每个,每..."短语 group by 字段名 [having 分组条件]位置:select -from-where-group by [having] order by8.利用空值查询is null 或 is not null9.别名(1)字段别名除了排序 order by 之外一般都不能用select 字段或表达式 as 新字段名 from ....select 字段或表达式空格新字段名 from ....(2)表别名表的别名是整句命令都必须使用表的新名select -from 表1 as 新表名select -from 表1 空格新表名第十课 SQL 语句一、查询1.使用量词和谓词查询量词: any some all(了解)谓词: exists 和 not exists (可以实现和嵌套相同的功能)select字段 from 表1 where exists|not exists(select *; from 表2 where 表1.公共字段=表2.公共字段)[and 条件]select 字段 from 表1 where 公共字段 in|not in;(select 公共字段 from 表2 [where 条件])2.超链接格式(考上机题的改错)(了解)[inner] join 内连接left join 左连接right join 右连接full join 全连接join ...on 短语连用3.集合的并运算(了解)union4.查询去向(1)只显示前几条记录top n[percent] 必须和 order by 连用(2)将查询结果给数组into array 数组名select-from -[where][group by][order b]. into array 数组(3)将查询结果给永久表into table 表名或 into dbf 表名(4)将查询结果给临时表into cursor 表名(5)将查询结果给文本文件to file 文件名(6)将查询结果给打印机to printer二、操作功能1.插入记录(插入到指定表的末尾)insert into 表名 values(表中各记录的值)insert into 表名(字段名...) values(各字段的记录值) insert into表名 from array 数组名(数组中的值必须和表中的记录类型吻合) 2.更新记录(修改表中的记录)replace 字段 with "值" for 条件update 表名 set 字段名=值 [where 条件]3.逻辑删除delete from 表名 [where 条件]4.表结构的修改(了解)(表设计器中的内容)alter table 表名 ......例如:alter table 仓库 add 工资 N(4)alter table 仓库 drop 工资alter table 仓库 alter 面积 N(3)alter table 仓库 rename 面积 to mjalter table 仓库 add 工资 I check (工资>=0) ;error "工资的值必须大于等于零" default 0alter table 仓库 add unique 仓库号 tag 仓库号候选索引index on 表达式 tag 索引名 candidate 候选索引第十一课查询设计器与视图一、查询设计器(.qpr)1.新建(1)菜单-文件-新建-查询(或常用工具栏)(2)命令 create query [查询文件名]2.新建完查询之后一定要保存并运行运行方法:(1)在查询设计器打开的情况下用常用工具栏上的"!"(2)程序菜单-运行(3)命令 do 查询文件名.qpr3.查询设计器中各选项卡与 select 语句的对应(1)字段选项卡-select(2)联接选项卡-join on(3)筛选选项卡-where(4)排序依据-order by(5)分组依据-group by(6)杂项- distinct 和 * top n(7)查询去向-into table |cursor |to file|to printer查询设计器可以实现与select 语句相同的功能,但是做不了嵌套二、视图(相当于表)1.新建(1)文件-新建-视图(或常用工具栏)(2)用SQL 语句 create view 视图名 as select -from -where..... 2.视图必须依附于数据库存在,在建立视图的时候必须有一个当前数据库视图不占内存空间,随着数据库的打开而打开,关闭而关闭3.视图建立完毕后必须保存,并且自动保存到当前数据库中,并且不用运行选择题:视图比查询多了个“更新条件”少了个“查询去向”4.删除视图(1)在数据库中直接删除(2)命令 drop view 视图名第十二课表单设计与应用一、表单新建(.scx)1.文件-新建-表单(或常用工具栏)2.命令 create form [表单文件名]二、表单设计完成后要保存并运行运行方法:1.常用工具栏-"!"2.命令 do form 表单文件名三、表单设计器工具的使用四、对象属性访问及对象方法调用的基本格式对象引用.对象属性例如:thisform.caption="你好" 在command1的click 写对象引用.对象方法例如:thisform.release五、常用事件方法1.事件load init destroy unload error gotfocusclick dblclick rightclick interactivechange2.方法release refresh show hide setfocus六、常用控件对象的使用1.标签(label1) <- name 名称属性: caption :标题,指定标签中的文本内容alignment:指定标题文本在控件中显示的对齐方式2.命令按钮(command1)属性: default:该属性设为.t. 称为:"确认"cancel:该属性设为.t. 称为:"取消"enabled:指定对象能不能用visible:指定对象可不可见第十三课命令组文本框编辑框复选框选项组一、命令按钮组(commandgroup1)(了解)常用属性:1.buttoncount 指定命令按钮的个数2.buttons 用于存取命令组中各按钮的数组例如: /doc/d7*******.html,mandgroup1.buttons(1). caption="第一个"/doc/d7*******.html,mand1.caption="第一个"3.value 指定命令组当前的状态默认数值型,可以改成字符型二、文本框(text1)1.value 返回文本框的当前内容或赋值给文本框值,默认字符型2.passwordchar 指定文本框控件内是显示用户输入的字符还是占位符3.inputmask 指定在一个文本框中如何输入和显示数据X:代表任意一位字符#:代表任意的0-9数字,正负号和空格9:代表任意的0-9数字新建属性和方法程序在表单设计器设计的同时,选择菜单"表单"-新建属性和新建方法程序三、编辑框(edit1)(了解)1.allowtabs :指定编辑框能否使用tab键2.hideselection :当编辑框失去焦点时编辑框中选定的文本是否仍为选定状态3.readonly:指定是否只读4.scrollbars :是否具有垂直滚动条5.selstart:返回用户在编辑框中所选文本的起始点位置或插入位置6.sellength:返回用户在编辑框中所选文本的长度7.seltext:返回用户在编辑框中选定的文本内容四、复选框(check1)1.caption 指定显示在复选框右边的文字标题2.value 指定复选框的当前状态数值型: 1 代表选中 0 代表未选中逻辑型: .t. 代表选中 .f.代表未选中五、选项组(optiongroup1)1.buttoncount :指定选项按钮组中按钮的个数2.buttons : 用于存取选项组中各按钮的数组例如: thisform.optiongroup1.buttons(2).caption="第一个"thisform.optiongroup1.option1.caption="第一个"3.value 指定选项组当前的状态默认数值型,可以改成字符型第十四课列表框组合框表格一、列表框(list1)属性:1.rowsource 数据源2.rowsourcetype 数据源的类型 0-93.list :用以存取列表框中数据条目的字符串数组thisform.list1.list(1)4.listcount:指明列表框中数据条目的数目thisform.list1.listcount5.columncount:指定列表框的列数6.value:返回列表框中被选中的条目7.selected:指定列表框内某个条目是否处于选定状态if thisform.list1.selected(1)=.t.endif8.multiselect :指定用户能否在列表框内进行多重选定二、组合框(combo1)1.style:选择组合框的类型0-下拉组合框 :可以选择也可以输入值2-下拉列表框 :只能选择不能输入新值组合框的相关属性与列表框相同,但是组合框没有多选属性:multiselect,而且组合框要显示内容也必须修改 rowsource 和 rowsourcetype 0-9十种三、表格(grid1)1.recordsource 数据源2.recordsourcetype 数据源的类型 0-4 五种类型3.columncount: 表格的列数4.linkmaster :显示表的父表名称5.childorder:建立一对多关联的子表的索引名第十五课页框计时器微调控件类表单向导一、页框(pageframe1)1.pagecount: 指明一个页框对象所包含的页的个数2.pages:是用于存取页框中某个页对象的数组thisform.pageframe1.page1.caption="你好"thisform.pageframe1.pages(1).caption=""3.tabs:指定页框中是否显示页面标签栏4.tabstretch:若标题文本太长是否显示多重行5.activepage:返回页框中当前活动页的页号或使页框的指定页成为活动页二、计时器(timer1)1.interval :每间隔多少毫秒执行一次计时器timer1的timer事件三、微调控件(spinner1)1.spinnerhighvalue:最大值2.spinnerlowvalue:最小值3.value:默认值4.increment:增量四、类(.vcx)(了解)1.新建(1)文件-新建-类(或常用工具栏)(2)create class2.打开五、用表单向导新建表单分为:表单向导和一对多表单向导 13 1430 29第十六课菜单一、菜单(.mnx)1.新建(1)文件-新建-菜单(或常用工具栏)(2)命令 create menu [菜单名]2.分类:条形菜单和弹出式菜单。
VFP常用命令及用法、实例命令中用到的范围:ALL: 命令对表中所有记录起作用,即执行时从首记录到末记录,最记录指针停在数据库的末尾.NEXT <expN> 命令作用于从当前记录开始到当前记录后<expN>条记录为止的范围内的记录,最后记录指针指向作用范围内的最后一条记录处。
NEXT 1表示仅作用于当前记录。
Record 〈expN〉命令作用于记录号为〈expN〉的记录.TEST 命令作用范围从当前记录开始到表的最后一个记录为止命令中的FOR子句只作用于满足条件的记录。
一、基本命令1。
打开和关闭数据表USE [<数据表名>] 当省略选项时为关闭当前数据表CLOSE ALL 关闭所有数据表2。
选择当前工作区SELECT 〈工作区号|数据表名|0〉功能:选择当前工作区。
可以直接选择工作区号,也可通过指定其中已经打开的数据表别名来指定工作区。
SELECT 0 是选择当前未使用的最低编号的工作区3. 增加记录APPEND BLANK 在当前表的尾部追加一个空白记录INSERT BLANK 在当前表的当前记录之后插入一条空白记录INSERT BLANK BEFORE 在当前表的当前记录之前插入一条空白记录注意:在表建立索引后,INSERT的功能与APPEND相同4. 替换字段的值REPLACE [范围] <字段1> WITH <表达式1〉[,〈字段2> WITH 〈表达式2〉, ..。
<字段n〉 WITH <表达式n>] [FOR 〈expL>]功能:计算表达式的值,并填入指定字段,当范围和条件选项省略时只对当前记录操作。
5. 删除记录DELETE [范围][FOR 条件]功能:对记录加删除标记(即逻辑删除),当范围和条件选项省略时只对当前记录操作.RECALL [范围] [FOR 条件]功能:对记录去除删除标记(即恢复删除),当范围和条件选项省略时只对当前记录操作。
命令1:CREATE [路径][表名] 一、创建数据表的结构例子:在A盘创建GZ2数据表。
CREATE A:GZ2命令2:CREATE [新表名] FROM [旧表名]例子:在A盘由GZ1创建GZ3数据表。
CREATE A:GZ3 FROM A:GZ1二、表结构的显示命令:LIST STRUCTUREDISPLAY STRUCTURE例子:显示当前数据表在结构。
LIST STRUCTURE三、数据表的打开命令:USE 表名 [INDEX 索引文件名] [EXCLUSIVE]例子:打开A盘GZ1数据表。
USE A:GZ1四、数据表的关闭命令:USECLOSE DATA例子:关闭当前打开的数据表。
USE五、表结构的修改命令:MODIFY STRUCTURE例子:修改当前数据表的结构。
MODIFY STRUCTURE六、表数据的输入命令:APPEND [BLANK]例子:向当前数据表追加数据。
APPEND七、表记录的显示命令:BROWSE [FIELDS 字段表][FOR 条件]LIST [范围][[FIELDS]字段表][FOR 条件]DISPLAY [范围][[FIELDS]字段表][FOR 条件]例子:显示当前表中“应发合计”大于1000元的记录的职工编号、姓名、应发合计三个字段。
BROWSE FIELDS 职工编号,姓名,应发合计 FOR 应发合计>1000LIST 职工编号,姓名,应发合计 FOR 应发合计>1000八、用复制方法建新表命令:COPY TO 新表名 [范围][FIELDS 字段表][FOR 条件]例子:把当前表中“应发合计”大于1000元的记录复制到新数据表GZ2中。
COPY TO A:GZ2 FOR 应发合计>1000九、从其他表取数据命令:APPEND FROM 表名 [FOR 条件]例子:把GZ1表中“应发合计”大于1000的记录复制到当前的表后面。
APPEND FROM GZ1 FOR 应发合计>1000十、记录指针定位命令:GO n|TOP|BOTTOM (绝对移动)SKIP [±n] (相对移动)例子:把记录指针移到第1条记录。
第一章数据库基础理论一、信息、数据和数据处理信息是有用的数据;数据是信息的表现形式,数据是信息的载体二、数据模型有三种:层次模型、网状模型、关系模型Visual FoxPro 6.0是关系型数据模型三、关系模型关系其实就是一张二维表,由字段、记录,和数据项组成,表中的每一行称为记录或元组,表中每一列称为字段或属性,表中每一项称为数据项或分量。
四、数据库:是数据库系统的核心和管理对象五、数据库系统由四部组成:硬件系统、系统软件(操作系统、数据库管理系统)、数据库应用系统和各类人员三级模式:外模式、概念模式和内模式六、数据库管理系统(DBMS):由三部分组成:数据描述语言DDL、数据操纵语言DML、数据库管理例行程序。
二、关系数据库1、一个关系数据库由若干个数据表组成,数据表由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项组成。
(即数据项→记录→数据表)2、表间关联关系的类型:一对一关系、一对多关系、多对一关系3、关系完整性:是指关系中的数据及具有关联关系的数据间必须遵循的制约和依存关系,保证数据的正确性、有效性和相容性关系的完整性包括:域完整性、实体完整性、参照完整性。
其中域完整性是指:包括字段的值、类型、有效规则实体完整性是指:对关系中的记录值是唯一的。
参照完整性是指:在数据库设计时要进行参照完整性。
建立关联表间数据的参照性。
4、关系运算:选择运算:是指从关系中选择某些满足条件的记录组成的一个关系投影运算:是指从关系中选择某些字段值组成的一个关系连接运算:是将两个或多个关系通过连接条件组成一个新的关系第三章基础知识一、数据类型:(其中所提到的字符个数,一个汉字用两个字符来表示,所有的标点符号应在英文状态下输入) 有六种基本数据类型:1、字符型:由“”、‘’和[]三种作为字符型数据的定界符。
且数据长度不能超过254个字符2、数值型:包括数值型、浮点型、货币型、双精度型、整型其中数值型是最常用的数据类型,是由数字(0~9)、小数点和正负号组成,最大长度不能超过20个字符 (包括十、—号和小数点)。
Visual FoxPro函数命令归纳①以下涵盖了专升本所考的全部函数和命令,必须逐一学会其用法。
②以下没有列出解释和用法,请同学根据上课所学内容、书、笔记等自己补充。
一、与数据库操作有关命令:USE, CLOSE, COPY, STORE, APPEND, INSERT, REPLACE, DELETE\PACK,ZAP,LIST,DISPLAY, SORT, INDEX, SET RELATION, JOIN WITH,LOCATE\CONTINUE, FIND, SEEK, COUNT, SUM, AVERAGE, TOTAL, ACCEPT,INPUT, WAIT, ?, ??, GO/GOTO, SKIP, TOP, BOTTOM二.函数SUBSTR(), LEFT(), RIGHT(), AT(), LEN(), STR(), INT(), MOD(),SPACE(), TRIM(), LTRIM(), ALLTRIM(), VAL(), FOUND(), BOF(), EOF(),RECNO(), RECCOUNT(), MAX(), MIN(), DATE(), TIME(), DATETIME(),YEAR(), MONTH(), DAY(), CTOD(), DTOC()三.编程用命令1.分支: IF...ENDIF, IF...ELSE...ENDIF, DO CASE...ENDCASE2.循环: FOR...ENDFOR, DO WHILE...ENDDO, SCAN...ENDSCAN3.循环控制语句: LOOP, EXIT, RETURN四.设置环境命令1.SET TALK ON/OFF2.SET EXACT ON/OFF3.SET DELETE ON/OFF4.SET HEADINGS ON/OFF五、SQL操作语言:1.CREATE TABLE2.ALTER TABLE3.DROP TABLE4.SELECT [DISTINCT] 列名1[,列名2]...FROM 表名1[,表名2]...; [WHERE 条件表达式];[GROUP BY [列名1][HAVING 条件][,列名2]...];[ORDER BY 表达式[ASC/DESC]]六.与数组操作有关命令:DIMENSION, gather from 数组名, copy to array 数组名七.VF中的命令格式说明:1.VF中命令可以只写前四个字母或四个字母以上,例如命令replace,可以写成repl repla replac,字母不区分大小写。