FoxPro程序设计_第1页
FoxPro程序设计_第2页
FoxPro程序设计_第3页
FoxPro程序设计_第4页
FoxPro程序设计_第5页
已阅读5页,还剩236页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8章Visual FoxPro程序设计任务项目案例任务项目案例编成控制企业人事管理系统人事档案信息管理编成控制企业人事管理系统人事档案信息管理 使用程序设计实现企业人事档案信息数据修改,使用程序设计实现企业人事档案信息数据修改,删除,更新等操作。删除,更新等操作。数据类型和字段类型1. 字符型(Character)*必须用西文方式的单或双引号括起。必须用西文方式的单或双引号括起。* LOCATE FOR LOCATE FOR 雇员雇员. .职务职务=总经理总经理*学号、书号、电话号码、邮政编码学号、书号、电话号码、邮政编码( (注意不宜用数注意不宜用数值型值型) )2. 货币型(Curren

2、cy) cPrice=$100.356cPrice=$100.356数据类型和字段类型3. 日期型(Date) birthday=05/20/1980birthday=05/20/1980 Dblankdate=Dblankdate= 日期格式受日期格式受SET DATESET DATE、SET MARKSET MARK、SET CENTURYSET CENTURY命令的影响命令的影响 工具工具/ /选项选项/ /区域区域4. 日期时间型(DateTime) tdatetime=4/17/ 2000 8:30pmtdatetime=4/17/ 2000 8:30pm Tdateonly=4/1

3、7/ 2000 Tdateonly=4/17/ 2000 Ttimeonly=8:30pmTtimeonly=8:30pm Tblankdate= : Tblankdate= : 时间格式受时间格式受SET HOURSSET HOURS、SET SECONDSSET SECONDS命令的影响命令的影响数据类型和字段类型5. 数值型(Numeric) STORE 3.14159 TO piSTORE 3.14159 TO pi temp=100.12temp=100.128. 逻辑型(Logical) STORE .T. TO foundSTORE .T. TO found Flag=.F.Fl

4、ag=.F. 7. 通用型(General) 用于在表中存储用于在表中存储OLE(OLE(对象链接与嵌入对象链接与嵌入) )对象对象常量:其值不发生变化的量常量:其值不发生变化的量(1 1)常量分为四种类型:分为四种类型:数值型(数值型(N N):直接由数字或):直接由数字或+ +、- -、小数点构成。、小数点构成。字符型(字符型(C C):由字符、汉字组成,需加定界符。如):由字符、汉字组成,需加定界符。如沈阳沈阳、”沈阳沈阳”、 沈阳沈阳 ,同一定界符不能嵌套,如,同一定界符不能嵌套,如:“AB”CD”,:“AB”CD”,但但 AB”CD”AB”CD”是合法的。是合法的。日期型(日期型(D

5、 D):用):用定界。定界。 如如00-08-3000-08-30 或或CTOD(“01/08/30”)CTOD(“01/08/30”)逻辑型(逻辑型(L L):用):用. .定界。如定界。如.t.t.、.f.,.Y.,.N.f.,.Y.,.N.等等说明:请注意说明:请注意C C、D D、L L型常量的定界符。注意区分型常量的定界符。注意区分”2010”2010”为字符型常量,为字符型常量,而不是数值型常量。逻辑型常量必须用而不是数值型常量。逻辑型常量必须用“.”“.”定界。注意各类型数据的宽定界。注意各类型数据的宽度。度。常量常量 编译时常量 用用 * *DEFINEDEFINE预处理命令定

6、义预处理命令定义 如:如:* *DEFINE OPER “DEFINE OPER “输入的数据非法!输入的数据非法!” * *DEFINE pi 3.1415926DEFINE pi 3.1415926 不能另作它用不能另作它用变量:变量: 程序运行中,值可能会发生变化的量程序运行中,值可能会发生变化的量 变量是内存中的一个存储单元的位置 变量名是存储位置的符号标识 存储位置中存放的数据在程序操作期间通过该名称来读写变量变量分类:变量分类: 字段名变量字段名变量 数据表中已定义的数据项数据表中已定义的数据项 每一个字段可有不同的取值每一个字段可有不同的取值 表有一个记录指针,它指向的记录定义为

7、当前记录,字段名表有一个记录指针,它指向的记录定义为当前记录,字段名变量的现值,就是当前记录中对应字段的值。变量的现值,就是当前记录中对应字段的值。 记录指针是可以移动的,因此,字段名的取值随着指针的移记录指针是可以移动的,因此,字段名的取值随着指针的移动而改变,所以它是变量动而改变,所以它是变量 内存变量内存变量 独立于数据库之外的独立于数据库之外的变量的创建变量的创建 赋值格式:赋值格式: Store Store 表达式表达式 to to 变量变量 变量变量= =表达式表达式 在赋值的同时,完成了变量的创建在赋值的同时,完成了变量的创建STORE STORE 3 TO nVar3 TO n

8、Var nVar = 3 nVar = 3访问变量访问变量 如字段变量和内存变量同名:如字段变量和内存变量同名: 则字段变量具有更高的优先权则字段变量具有更高的优先权 此时内存变量访问此时内存变量访问 M.M.内存变量内存变量 M-M-内存变量内存变量变量作用域变量作用域局部变量:局部变量: 用用LOCALLOCAL指定局部变量指定局部变量 创建它的文件中使用与修改创建它的文件中使用与修改 不能在更高层与低层中引用不能在更高层与低层中引用私有变量:私有变量: 子程序中使用子程序中使用 用用PRIVATEPRIVATE指定私有变量指定私有变量( (可以与上层同名可以与上层同名 ) )全局变量:全

9、局变量: 用用PUBLICPUBLIC指定全局变量指定全局变量( (公共公共 ) ) 任何运行的程序都能使用和修改任何运行的程序都能使用和修改 在命令窗口中创建的任何变量或数组被自动赋予全局属性在命令窗口中创建的任何变量或数组被自动赋予全局属性public mLocal n . . .m =3n=4do sub . . .Procedure sub Private m ? m ? n字段名变量字段名变量数据表中已定义的数据项数据表中已定义的数据项每一个字段可有不同的取值每一个字段可有不同的取值 表有一个记录指针,它指向的记录定义为当前记录,字段名变量的表有一个记录指针,它指向的记录定义为当前记

10、录,字段名变量的现值,就是当前记录中对应字段的值。现值,就是当前记录中对应字段的值。 记录指针是可以移动的,因此,字段名的取值随着指针的移动而改记录指针是可以移动的,因此,字段名的取值随着指针的移动而改变,所以它是变量变,所以它是变量当前记录:记录指针指向的记录*表刚打开,当前记录是第一条记录移动记录指针移动记录指针:GO TOP|BOTTOM|:绝对移动记录指针。SKIP :相对移动记录指针 移动记录指针说明:说明: 注意区别命令注意区别命令GO TOPGO TOP和和GO 1GO 1,在索引文件打开时,前者把记录指针移,在索引文件打开时,前者把记录指针移到数据库的第一条逻辑记录,而后者为把

11、记录指针移到记录号为到数据库的第一条逻辑记录,而后者为把记录指针移到记录号为1 1的物理的物理记录上记录上 若库中有记录,执行若库中有记录,执行G0 TOPG0 TOP和和GO BOTTOMGO BOTTOM后,函数后,函数BOFBOF()和()和EOFEOF()的()的值均为值均为FF。使。使BOFBOF()为真,()为真,SKIP-1;SKIP-1;使使EOFEOF()为真()为真SKIPSKIP 若库中无记录,函数若库中无记录,函数BOFBOF()和()和EOFEOF()的值均为()的值均为.T.T.。 SKIPSKIP命令无任何选项时,表示向下移动一条记录,多用在对数据库中命令无任何选

12、项时,表示向下移动一条记录,多用在对数据库中所有记录逐一处理的循环结构中,在程序填空中经常出现。所有记录逐一处理的循环结构中,在程序填空中经常出现。移动记录指针实例 Go 1Go 1 Skip 2Skip 2 ? ? 编号编号 skipskip Go bottomGo bottom ? ? 编号编号 Skip Skip 1 1 ? ? 编号编号编号 姓名101 张三102 王一103 刘六104 李四105 赵七 朱八表一2内存变量内存变量变量名变量名: : 是以汉字、字母、数字或下划线组成的字符串,串长最多为是以汉字、字母、数字或下划线组成的字符串,串长最多为1010个字符个字符或或5 5个

13、汉字个汉字 变量名必须以字母或汉字开头,下划线必须嵌在变量名中间,但不能变量名必须以字母或汉字开头,下划线必须嵌在变量名中间,但不能嵌入空格符嵌入空格符内存变量分为四种类型:内存变量分为四种类型: 数值型、字符型、逻辑型和日期型数值型、字符型、逻辑型和日期型变量赋值格式:变量赋值格式: 内存变量内存变量= =表达式表达式 STORE STORE 表达式表达式= =内存变量表内存变量表功能:把表达式的值送到内存变量中功能:把表达式的值送到内存变量中例如:例如: A=20A=20 B=100 B=100 数组数组: : 名字相同、用下标区分的内存变量称为数组名字相同、用下标区分的内存变量称为数组

14、主要有以下特点:主要有以下特点: (1)(1)数组元素的类型,由所赋的值来决定数组元素的类型,由所赋的值来决定 (2)(2)数组变量可以不带下标使用数组变量可以不带下标使用 在赋值语句的右边,表示该数组第一个元素在赋值语句的右边,表示该数组第一个元素 在赋值语句的左边,表示该数组所有元素在赋值语句的左边,表示该数组所有元素 (3)(3)数组和数据表之间可相互转换数组和数据表之间可相互转换 即数据表中数据可以转换为数组数据即数据表中数据可以转换为数组数据 数组数据也可以转换为数据表中的数据数组数据也可以转换为数据表中的数据1.1.定义数组定义数组数组名的取法和一般的变量名取法相同数组名的取法和一

15、般的变量名取法相同定义数组命令:定义数组命令: DIMENSION DIMENSION 数组名数组名(1,2) ) ,(1命令功能:定义一个或多个内存变量数组。命令功能:定义一个或多个内存变量数组。说明:说明: 最多可有最多可有36003600个元素,显示内存时只算一个变量个元素,显示内存时只算一个变量 数组下标起始值是数组下标起始值是1 1 数组元素隐含的逻辑值为数组元素隐含的逻辑值为“假假”* * *二维数组,可用一维下标来存取。这是由于在内存中,二维二维数组,可用一维下标来存取。这是由于在内存中,二维数组元素是按行列次序排列数组元素是按行列次序排列 它们每个元素都可看作单独一个内存变量使

16、用,它们每个元素都可看作单独一个内存变量使用,数组实例数组实例 DIMENSION b(2DIMENSION b(2,3)3) ? A4? A4 ? A(2,1)? A(2,1) ? A6? A6 ? A(2,3)? A(2,3) A(1,1) A(1,2) A(1,3) 1 2 3 A(2,1) A(2,2) A(2,3) 4 5 6 变量:变量: 专用专用 在程序中用在程序中用DIMENSIONDIMENSION建立的数组为专用建立的数组为专用 公用公用 命令窗口下建立的数组为公用命令窗口下建立的数组为公用 在程序中建立公用的数组用在程序中建立公用的数组用PUBLICPUBLIC命令命令

17、格式为:格式为:PUBLICPUBLIC数组名数组名(N(1,N2) ) 例如:例如: DIMENSIOM A(4)DIMENSIOM A(4),B(2B(2,3)3) 建立一维数组建立一维数组A A和二维数组和二维数组B B 二维数组有六个元素二维数组有六个元素: : 分别为分别为 B(1B(1,1)1)、B(1B(1,2)2)、B(1B(1,3)3) B(2B(2,1)1)、B(2B(2,2)2)、B(2B(2,3)3)数组的赋值数组的赋值 格式:格式: STORE STORE 表达式表达式 TO TO 数组名数组名 数组名数组名= =表达式表达式 命令功能:命令功能: 将表达式的值赋给数

18、组变量将表达式的值赋给数组变量 上述两个命令是完全等价的上述两个命令是完全等价的 给数组赋值还可用给数组赋值还可用ACCEPTACCEPT、INPUTINPUT、WAITWAIT语句语句数组变量的显示数组变量的显示 命令格式:命令格式: LISTLISTDISPLAY MEMORYDISPLAY MEMORY 命令功能:命令功能: 显示内存变量显示内存变量( (数组变量数组变量) ) 可以用可以用RELEASERELEASE和和CLEAR MEMORYCLEAR MEMORY命令删除掉已定义的数组命令删除掉已定义的数组( (整整个数组个数组) ) 可以用可以用SAVESAVE命令同内存变量一起

19、保存到磁盘内存文件命令同内存变量一起保存到磁盘内存文件(.MEM)(.MEM)中,需要时用中,需要时用RESTORERESTORE命令同内存变量一起从磁盘文件中恢复命令同内存变量一起从磁盘文件中恢复Iif()Iif()根据逻辑表达式的值,返回两个值中的某一个。根据逻辑表达式的值,返回两个值中的某一个。语法语法:IIF(lExpression, eExpression1, eExpression2):IIF(lExpression, eExpression1, eExpression2)参数参数:lExpression:lExpression指定要计算的逻辑表达式。指定要计算的逻辑表达式。eEx

20、pression1, eExpression2eExpression1, eExpression2如果如果 lExpression lExpression 计算结果为计算结果为“真真”(.T.)(.T.),返回,返回 eExpression1eExpression1;如果;如果 lExpression lExpression 为为“假假”(.F.)(.F.),则返回,则返回 eExpression2eExpression2。返回值类型返回值类型: :字符型、数字型、货币型、日期型或日期时间型字符型、数字型、货币型、日期型或日期时间型说明说明该函数也称作该函数也称作 Immediate IFIm

21、mediate IF。它计算一个逻辑表达式的值,然后根据计算结果,。它计算一个逻辑表达式的值,然后根据计算结果,返回两个表达式中的一个。如果逻辑表达式的值为返回两个表达式中的一个。如果逻辑表达式的值为“真真”(.T.)(.T.),则,则 IIF( ) IIF( ) 返返回第一个表达式;如果逻辑表达式的值为回第一个表达式;如果逻辑表达式的值为“假假”(.F.)(.F.),则,则 IIF( ) IIF( ) 返回第二个返回第二个表达式。表达式。提示提示对于简单的条件表达式,该函数可以代替对于简单的条件表达式,该函数可以代替 IF . ENDIF IF . ENDIF 语句。在按条件指定报语句。在按

22、条件指定报表和标签表达式中的字段内容时表和标签表达式中的字段内容时 IIF( ) IIF( ) 特别有用。特别有用。IIF( ) IIF( ) 函数比等价语句函数比等价语句 IF . ENDIF IF . ENDIF 执行速度快得多。执行速度快得多。表达式表达式 表达式表达式: : 是由常数、变量、函数和运算符组成的一个有物理意义的式是由常数、变量、函数和运算符组成的一个有物理意义的式子子 表达式总有一定的运算结果,即有一个值,所以表达式也是表达式总有一定的运算结果,即有一个值,所以表达式也是一种数据一种数据 表达式分为(表达式结果):表达式分为(表达式结果): 数值表达式数值表达式 字符表达

23、式字符表达式 关系表达式关系表达式 逻辑表达式逻辑表达式表达式的输出命令:表达式的输出命令:格式:格式: ?,功能:功能: 计算表达式的值,并在屏幕或打印机上输出计算表达式的值,并在屏幕或打印机上输出例如:例如: ? 4? 4* *6+106+10 34341.1.数值表达式数值表达式 数值表达式数值表达式: : 是由算术运算符和数值型常数、变量、函数组成。是由算术运算符和数值型常数、变量、函数组成。 运算结果为数值型数据。运算结果为数值型数据。 算术运算符为:算术运算符为:+ - + - * * ( ) ( ) 优先次序优先次序: : 括号、函数、乘方、乘除和加减,同级运算从左到右依次进括号

24、、函数、乘方、乘除和加减,同级运算从左到右依次进行行 如如: : 3 36 62 2EXP(8) LOG(20) 25EXP(8) LOG(20) 252.2.字符表达式字符表达式字符表达式字符表达式: : 是由字符运算符和字符型常数是由字符运算符和字符型常数( (即用定界符括起来的字符串即用定界符括起来的字符串) )、变量、变量、函数组成函数组成 运算结果是字符型数据运算结果是字符型数据三种字符串运算:三种字符串运算:* *完全连接运算完全连接运算 格式:格式: 字符串字符串1 1 字符串字符串2 2 功能:将两个字符串连接为一个字符串。功能:将两个字符串连接为一个字符串。 例如:例如:?

25、THIS IS THIS IS A PENA PENTHIS IS A PEN THIS IS A PEN * *完全连接是指两个字符串合并,即包括空格在内的字符串中所有字符完全连接是指两个字符串合并,即包括空格在内的字符串中所有字符相加。相加。不完全连接运算不完全连接运算 格式:格式: 字符串字符串1 1 字符串字符串2 2 功能:功能: 也是将两个字符串连接为一个字符串,但是删去字符串也是将两个字符串连接为一个字符串,但是删去字符串1 1尾部的空格符尾部的空格符 例如:例如: ? “首都首都* * * * 北京北京 首都:北京首都:北京* * * * 注:串注:串1 1尾部的空格移到串尾部

26、的空格移到串1 1后后包含运算包含运算 格式:格式: 串串1 1串串2 2 功能:功能: 如串如串1 1包含在串包含在串2 2中,表达式的值为真,否则为假中,表达式的值为真,否则为假 例如:例如: ABABACBTEACBTE结果为假结果为假( (F F) ) ABABABCDEABCDE结果为真结果为真( (T T) ) 注:注: 包含运算是字符串的关系运算包含运算是字符串的关系运算 关系运算返回的是逻辑值关系运算返回的是逻辑值3.3.关系表达式关系表达式关系表达式:关系表达式: 是由关系运算符与字符表达式或数值表达式组成是由关系运算符与字符表达式或数值表达式组成 结果是一个逻辑值结果是一个

27、逻辑值 关系成立结果取真关系成立结果取真(.T.)(.T.),不成立结果取假,不成立结果取假( (F F) ) 关系运算符两边的数据类型要一致,关系运算符两边的数据类型要一致,( (同类型同类型) )关系运算符有关系运算符有6 6种:种:=, =, , 、* *或或!=!=注:注: 字符的比较是字符的比较是ASCIIASCII码值的大小码值的大小 空格空格0-9A-Za-z0-9A-Z100123100 ? CHCACH5.and.”ab”$”abcde”5.and.”ab”$”abcde”表达式例: 算术表达式:结果为数值型。如算术表达式:结果为数值型。如3+23+2 字符表达式:结果为字符

28、型。如字符表达式:结果为字符型。如 Good +Morning Good +Morning 或或Good -MorningGood -Morning 日期表达式:结果为日期或数值。如日期表达式:结果为日期或数值。如DATE()+5 DATE()+5 、DATE()-5 DATE()-5 或或DATE()-00-08-20DATE()-00-08-20 关系表达式:结果为逻辑型。如关系表达式:结果为逻辑型。如”AB”$”ABCD”AB”$”ABCD”、”AB”BC”AB”2 .AND. .NOT.5632 .AND. .NOT.56说明:说明:在日期型表达式中,两个日期表达式相减,结果为数值,表

29、示两日期之在日期型表达式中,两个日期表达式相减,结果为数值,表示两日期之间相差的天数,两日期表达式相加,属非法表达式;一个日期表达式与间相差的天数,两日期表达式相加,属非法表达式;一个日期表达式与一个数值表达式相加,结果为日期型表达式,表示从当前日期往后数一个数值表达式相加,结果为日期型表达式,表示从当前日期往后数N N天;一个日期表达式与一数值表达式相减,表示从当前日期向前数天;一个日期表达式与一数值表达式相减,表示从当前日期向前数N N天。天。逻辑表达式包含关系表达式,关系表达式中包含算术表达式。注意,关逻辑表达式包含关系表达式,关系表达式中包含算术表达式。注意,关系表达式与逻辑表达式的结

30、果都为逻辑型。系表达式与逻辑表达式的结果都为逻辑型。命令格式命令格式 由两部分组成由两部分组成 命令动词,表示应执行的操作命令动词,表示应执行的操作 若干个短语,对操作提供某些限制性说明。若干个短语,对操作提供某些限制性说明。 一般格式如下:一般格式如下: 命令动词命令动词 短语短语 如:如:copy to aa for copy to aa for 性别性别=“=“男男”与表有关的命令与表有关的命令 与表有关的命令格式:与表有关的命令格式: 命令动词命令动词 范围范围 FOR FOR FIELDS FIELDS 命令中的命令中的FORFOR、FIELDSFIELDS是关键字,用户不得随意更改

31、。是关键字,用户不得随意更改。 约定:约定: 表示可选项表示可选项, ,不选用系统的默认值不选用系统的默认值表示必选项表示必选项 :表示对表记录操作的范围:表示对表记录操作的范围 ALL ALL 表示全体记录表示全体记录 NEXT N NEXT N 当前记录开始后续共计当前记录开始后续共计 N N 个记录个记录 RECORD N RECORD N 特指第特指第 N N 号记录。号记录。 REST REST 从当前记录开始到表尾的所有记录从当前记录开始到表尾的所有记录FORFOR条件条件 选择操作选择操作FIELDS FIELDS 投影操作投影操作操作释例操作释例Go 3Go 3Disp all

32、Disp allGo 2Go 2Disp next 2Disp next 2Go 3Go 3Disp restDisp restGo 3Go 3Disp record 5Disp record 5编号 姓名101 张三102 王一103 刘六104 李四105 赵七 朱八表一Go 1List for 编号101.and.编号“105”选择操作Go 1List fields 姓名投影操作命令书写的规则命令书写的规则命令以命令动词开头命令以命令动词开头, , 后面是短语后面是短语用用空格空格来分隔各单词短语来分隔各单词短语命令最长是命令最长是254254个字符个字符, ,用分行符;来分行用分行符;

33、来分行命令动词和关键字可以缩写为前四个字符命令动词和关键字可以缩写为前四个字符 如如MODIFY STRUCTUREMODIFY STRUCTURE可写为可写为MODI STRU MODI STRU 不分大小写,可以混合使用不分大小写,可以混合使用变量名、字段名和文件命名时,应避免与命令动词和关键字同名,变量名、字段名和文件命名时,应避免与命令动词和关键字同名,以免运行时发生混乱以免运行时发生混乱8.2 8.2 数据库的操作命令数据库的操作命令 常用的操作命令常用的操作命令 包括包括 数据库的建立数据库的建立 打开打开 设置设置 关闭关闭 删除删除1.1.创建数据库创建数据库 CREATE D

34、ATABASE CREATE DATABASE 命令命令 命令格式:命令格式: CREATE DATABASE CREATE DATABASE 数据库名数据库名 命令功能:用于创建一个数据库命令功能:用于创建一个数据库说明说明: :(1)(1)数据库名已经存在,则提示新的路径或文件名数据库名已经存在,则提示新的路径或文件名(2)(2)当无数据库名时,将弹出保存的位置及名称对话框,当无数据库名时,将弹出保存的位置及名称对话框,(3)(3)数据库以数据库以.DBC.DBC为其扩展名,以为其扩展名,以.DCT.DCT为备注文件,索引文件则为备注文件,索引文件则以以.DCX.DCX为扩展名为扩展名(4

35、)(4)该命令以独占方式创建并打开一个数据库该命令以独占方式创建并打开一个数据库例如例如: :创建一个名为创建一个名为t1.dbct1.dbc的数据库,并显示有关数据库的信息的数据库,并显示有关数据库的信息 CREATE DATABASE t1 CREATE DATABASE t1 创建数据库创建数据库t1t1 CLEAR CLEAR 清除屏幕清除屏幕 DISPLAY DATABASE DISPLAY DATABASE 显示数据库显示数据库t1t1信息信息2.2.打开数据库打开数据库用用OPEN DATABASEOPEN DATABASE命令打开已经存在的数据库命令打开已经存在的数据库 命令格

36、式:命令格式: OPEN DATABASE OPEN DATABASE 数据库名数据库名 命令功能命令功能: : 打开一个指定的数据库。打开一个指定的数据库。3.3.设置当前数据库设置当前数据库 SET DATABASE TOSET DATABASE TO命令命令 命令格式:命令格式: SET DATABASE TO SET DATABASE TO 数据库名数据库名 命令功能命令功能: : 设置当前数据库。设置当前数据库。说明:说明:(1)(1)数据库名为当前要打开的数据库名称数据库名为当前要打开的数据库名称(2)(2)略名,弹出一个略名,弹出一个显库显库对话框对话框例如:例如: OPEN D

37、ATABASE t1 OPEN DATABASE t1 库库t1.dbct1.dbc OPEN DATABASE t2 OPEN DATABASE t2 库库t2.dbct2.dbc DISPLAY DATABASE DISPLAY DATABASE 显示当库显示当库t2.dbct2.dbc的信息的信息 SET DATABASE TO t1 SET DATABASE TO t1 置置t1t1为当前库为当前库 DILPLAY DATABASE DILPLAY DATABASE 显示当库显示当库t1t1的信息的信息 SET DATABASE TO t2 SET DATABASE TO t2 设设t

38、2t2为当库为当库 DISPLAY DATABASE DISPLAY DATABASE 显库显库t2.dbct2.dbc的信息的信息4.4.关闭数据库关闭数据库命令格式:命令格式: CLOSE DATABASE CLOSE DATABASE ALLALL命令功能:命令功能: 关闭数据库。关闭数据库。说明说明: : ALLALL用于关闭所有打开的数据库用于关闭所有打开的数据库 如果没有指定此参数,则将关闭当前数据库如果没有指定此参数,则将关闭当前数据库5.5.删除数据库删除数据库 命令格式:命令格式: DELETE DATABASE DELETE DATABASE 数据库名数据库名|?|? DE

39、LETETABLESDELETETABLESRECYCLERECYCLE 命令功能命令功能: : 删除数据库删除数据库说明说明要删除的数据库文件必须保证处于非使用状态要删除的数据库文件必须保证处于非使用状态?弹出一个?弹出一个“删除删除”对话框对话框 DELETE TABLESDELETE TABLES删除数据库中包含的表和包含这些表的数据库删除数据库中包含的表和包含这些表的数据库RECYCLERECYCLE文件放入回收站中,可恢复删除的文件文件放入回收站中,可恢复删除的文件SET SAFETYSET SAFETY的值为的值为ONON,删文件前会提示用户,删文件前会提示用户SET SAFTYS

40、ET SAFTY设置为设置为OFFOFF,VFPVFP将不做任何提示将不做任何提示表的操作命令表的操作命令 包括:包括: 创建表创建表 打开一个存在的表打开一个存在的表 将一个自由表加入到将一个自由表加入到 数据库中去数据库中去 从数据库中移去表从数据库中移去表 显示表中信息显示表中信息 关闭关闭 删除表删除表1.1.创建表创建表 命令格式:命令格式: CREATE CREATE 数据库表名数据库表名 命令功能:命令功能: 创建数据库表或自由表创建数据库表或自由表, ,其扩展名为其扩展名为.dbf.dbf 如有数据库打开,则该表是数据库表,且已加入到该数据库如有数据库打开,则该表是数据库表,且

41、已加入到该数据库中中 否则,该表是自由表否则,该表是自由表 例如例如: : 新建一个表新建一个表a1,a1,将它包含到数据库将它包含到数据库t1t1中中 OPEN DATABASE t1 OPEN DATABASE t1 打开数据库打开数据库t1t1 CREATE a1 CREATE a1 创建表创建表a1.dbf,a1.dbf,将其包含到数据库将其包含到数据库t1t1中中2.2.将表加入到数据库中将表加入到数据库中 命令格式:命令格式: ADD TABLEADD TABLE自由表名自由表名|?|? 命令功能命令功能: : 将自由表加到指定数据库中去将自由表加到指定数据库中去说明:说明: 自由

42、表名指定要加入到一个已打开的数据库中的自由表名指定要加入到一个已打开的数据库中的自由表的名称自由表的名称 不指定名称或不指定名称或“?”作为参数,弹出对话框作为参数,弹出对话框 表一旦加入到库中,不再是自由表表一旦加入到库中,不再是自由表 可以通过可以通过REMOVE TABLEREMOVE TABLE命令将该表从数据库中移出,使之成命令将该表从数据库中移出,使之成为新的自由表为新的自由表 库中表的一些规定:库中表的一些规定:必须是一个有效的必须是一个有效的.DBF.DBF文件文件不能与数据库中已存在的表重名不能与数据库中已存在的表重名一个表只能属于一个数据库,不能再成为其他数据库一个表只能属

43、于一个数据库,不能再成为其他数据库中的表中的表3.3.将表从数据库中移出将表从数据库中移出 命令格式:命令格式: REMOVE TABLE REMOVE TABLE 数据库表名数据库表名|? |? DELETEDELETERECYCLERECYCLE 命令功能命令功能: : 将数据库中的数据库表移出去将数据库中的数据库表移出去 使之成为自由表或删除表使之成为自由表或删除表说明:说明:参数参数?或忽略数据库表名时,弹出对话框或忽略数据库表名时,弹出对话框参数参数DELETE DELETE 用于指定将表从数据库和磁盘中删除用于指定将表从数据库和磁盘中删除RECYCLERECYCLE参数参数, ,先

44、放回收站中,不立即删,可恢复先放回收站中,不立即删,可恢复与表相连的主索引、默认值及有效性规则将被删除与表相连的主索引、默认值及有效性规则将被删除 当一个表从数据库中移出时,它将变成一个自由表当一个表从数据库中移出时,它将变成一个自由表例如例如 建建2 2个表并加入到库个表并加入到库t1t1中,而后执行删除命令中,而后执行删除命令 OPEN DATABASE t1 OPEN DATABASE t1 打开数据库打开数据库 CREATE c1 CREATE c1 创建表创建表c1.dbfc1.dbf CREATE c2 CREATE c2 创建表创建表c2.dbfc2.dbf CLEAR CLEA

45、R 清屏幕清屏幕 DISPLAY DATABASE DISPLAY DATABASE 显示当前数据库信息显示当前数据库信息 REMOVE TABLE c2 REMOVE TABLE c2 移动数据库表移动数据库表c2.dbfc2.dbf CLEAR CLEAR 清屏幕清屏幕 DISPLAY DATABASE DISPLAY DATABASE 显示当前数据库信息显示当前数据库信息 ADD TABLE c2 ADD TABLE c2 将表将表c2c2添加到当前库中添加到当前库中 DELETE DATABASE t1 DELETE DATABASE t1 删除数据库删除数据库t1t14.4.显示表的

46、结构显示表的结构命令格式命令格式: : LIST STRUCTURE LIST STRUCTURE TO PRINTERTO PRINTER| |TO FILE TO FILE 文件名文件名命令功能命令功能: :显示表的结构显示表的结构说明说明: : (1)(1)有有TO PRINTERTO PRINTER选项时选项时, ,将屏幕显示的信息输出到打印机将屏幕显示的信息输出到打印机 (2)(2)有有TO FILE TO FILE 文件名选项时文件名选项时, ,将屏幕显示的信息输出到指将屏幕显示的信息输出到指定的文件定的文件5.5.修改表的结构修改表的结构 命令格式:命令格式: MODIFY ST

47、RUCTUREMODIFY STRUCTURE 命令功能命令功能: : 修改表的结构修改表的结构8.8.输入记录输入记录 表的结构建立,没有数据,是空表表的结构建立,没有数据,是空表 命令格式:命令格式: APPEND APPEND BLANKBLANK 命令功能命令功能: : 从表的末尾追加记录从表的末尾追加记录 BLANKBLANK,末尾追加一空记录,不出现,末尾追加一空记录,不出现APPENDAPPEND输入记录窗口输入记录窗口7.7.打开表打开表 命令格式:命令格式: USE USE 表名表名 命令功能命令功能: : 打开一个和多个已经存在的表打开一个和多个已经存在的表 说明说明: :

48、 表名用于指定需要打开表的名称表名用于指定需要打开表的名称8.8.关闭表关闭表 命令格式:命令格式: USEUSE CLOSE TABLES CLOSE TABLES ALLALL 命令功能命令功能: : USEUSE关闭已打开的表关闭已打开的表 CLOSE TABLES CLOSE TABLES ALLALL可以同时关闭多个表。可以同时关闭多个表。 说明说明: : 及时关闭,从内存上卸下表,以防止操作不当及时关闭,从内存上卸下表,以防止操作不当* * * *记录指针定位记录指针定位 用用RECNO()RECNO()函数函数, ,可测试当前记录指针可测试当前记录指针 绝对指针定位绝对指针定位

49、命令格式:命令格式: GO GO TOTO TOPTOP GO GO TOTO BOTTOMBOTTOM GO GO TOTO RECORD NRECORD N GO GO TOTO 数值表达式数值表达式 GO GO TOTO N N 命令功能:命令功能: 使记录指针指向表中的指定记录使记录指针指向表中的指定记录 说明说明 GO TOP GO TOP 定位第一个逻辑记录定位第一个逻辑记录 GO BOTTOM GO BOTTOM 定位最后一个逻辑记录定位最后一个逻辑记录 GO RECORD N GO RECORD N 指针定位到表的指针定位到表的N N号记录号记录 GOGO数值表达式定到表达式值

50、取整后的记录数值表达式定到表达式值取整后的记录 GO N GO N 指针定位到指针定位到N N号记录号记录 当选用参数当选用参数N N时,时,GOGO、TOTO均可省略不写均可省略不写2.2.相对指针转移相对指针转移 命令格式:命令格式: SKIP SKIP + +- -数值表达式数值表达式 命令功能:命令功能: 相对当前位置按表达式值移动若干个记录相对当前位置按表达式值移动若干个记录 值为正时,指针向后移值为正时,指针向后移 为负值时,指针向前移为负值时,指针向前移 缺省选择项时指针向后移一个记录缺省选择项时指针向后移一个记录 说明:说明: GOGO绝对定位,都定位到所指的记录绝对定位,都定

51、位到所指的记录 SKIPSKIP是相对定位命令,是相对定位命令, 以当前记录为中心,按给定的表达式以当前记录为中心,按给定的表达式值相对地移动若干记录值相对地移动若干记录记录的显示记录的显示 两种格式两种格式: : LIST LIST 范围范围FIELDSFIELDS字段名表字段名表FORFOR条条件件TO PRINTER TO PRINTER OFFOFFTO FILETO FILE文件名文件名NOCONSOLENOCONSOLENOOPTIMIZENOOPTIMIZE DISPLAY DISPLAY 范围范围FIELDSFIELDS字段名表字段名表FORFOR条条件件TO P RINTER

52、TO P RINTEROFFOFFTO FILETO FILE文件名文件名NOCONSOLENOCONSOLENOOPTIMIZENOOPTIMIZE说明:说明:LIST=DISPLAY ALLLIST=DISPLAY ALL显示的全部记录显示的全部记录OFFOFF时,不显示记录号时,不显示记录号有有FORFOR条件显示出满足条件表达式的记录条件显示出满足条件表达式的记录FIELDSFIELDS字段名表,显示指定字段字段名表,显示指定字段有范围,显示指定范围有范围,显示指定范围TO PRINTERTO PRINTER,显示的结果送到打印机输出,显示的结果送到打印机输出TO FILETO FIL

53、E文件名,结果输出到文件文件名,结果输出到文件NOCONSOLENOCONSOLE,不将显示结果送到主窗口和,不将显示结果送到主窗口和TO PRINTERTO PRINTERTO FILE TO FILE 文件名一起使用文件名一起使用差别有两点:差别有两点: LISTLIST缺省范围是显示全体记录缺省范围是显示全体记录 DISPLAYDISPLAY缺省当前记录缺省当前记录 LISTLIST具有连续显示特点具有连续显示特点 DISPLAYDISPLAY具有分页显示,满一页就停止,并提示按任具有分页显示,满一页就停止,并提示按任一键继续显示下页内容一键继续显示下页内容例例8.18.1 将将ZGDA

54、ZGDA表中职称是讲师的、年龄在表中职称是讲师的、年龄在4545岁以下的记录显岁以下的记录显示出来,并且只列出示出来,并且只列出 姓名、年龄、职称三个字段姓名、年龄、职称三个字段 USE ZGDA USE ZGDA LIST FIELDS LIST FIELDS 姓名,年龄,职称姓名,年龄,职称 FOR FOR 职称职称“讲师讲师”ANDAND年龄年龄4545【例【例8.28.2】 将将ZGDAZGDA表的后表的后4 4个记录显示出来个记录显示出来, ,并且将第并且将第1 1和第和第5 5个个记录分别显示出来记录分别显示出来【例【例8.38.3】 将将ZGDAZGDA表中表中19951995年

55、年1 1月月1 1日以后参加工作的记录显示日以后参加工作的记录显示出来出来【例【例8.48.4】 将将ZGDAZGDA表的后表的后4 4个记录中性别是女的记录显示出来个记录中性别是女的记录显示出来8.3 8.3 表的修改和维护表的修改和维护 1.EDIT1.EDIT和和CHANGECHANGE命令命令格式分别是格式分别是: : EDIT EDIT 范围范围 FIELDS FIELDS 字段名表字段名表 FOR FOR 条件条件 CHANGE CHANGE 范围范围 FIELDS FIELDS 字段名表字段名表 FOR FOR 条件条件 命令功能命令功能: : 进入全屏幕编辑方式,对当前打开的表

56、进入全屏幕编辑方式,对当前打开的表的记录进行修改的记录进行修改说明说明: : 缺省所有的选择项,从当前记录开始进行修改缺省所有的选择项,从当前记录开始进行修改 FIELDSFIELDS字段名表,对列出的字段进行修字段名表,对列出的字段进行修 改改 范围和范围和FORFOR条件,范围内满足条件的记录条件,范围内满足条件的记录进行修改进行修改 缺省了范围是指全部记录缺省了范围是指全部记录2.BROWSE2.BROWSE命令命令 命令格式:命令格式: BROWSE BROWSE FIELDS FIELDS 字段名表字段名表 命令功能:命令功能: 该命令以窗口方式显示当前表的内容,并可以对窗口内的数据

57、按该命令以窗口方式显示当前表的内容,并可以对窗口内的数据按需要进行修改需要进行修改 使用使用EDITEDIT命令和命令和CHANGECHANGE命令时命令时 一行只显示一个字段一行只显示一个字段 每屏幕只能显示一个记录每屏幕只能显示一个记录 VFPVFP系统提供了窗口显示与修改命系统提供了窗口显示与修改命 BROWSEBROWSE 3.REPLACE3.REPLACE命令命令* * * * 命令格式:命令格式: REPLACE REPLACE 范围范围 字段字段1 1 WITH WITH 表达式表达式1 1ADDITIVEADDITIVE,字段,字段2 2 WITH WITH 表达式表达式2

58、2ADDITIVEADDITIVE FOR FOR 条件条件 命令功能:命令功能: 成批地、快速地修改满足给定条件的一批记录成批地、快速地修改满足给定条件的一批记录 修改的方法是修改的方法是 用用WITHWITH后面表达式的值替换后面表达式的值替换WITHWITH前前面的字段内容面的字段内容 说明:说明:(1) (1) 系统不进入全屏幕编辑方式系统不进入全屏幕编辑方式(2) (2) 范围和范围和FORFOR条件,修改范围内满足条件的所有记录条件,修改范围内满足条件的所有记录 缺省范围,当前记录缺省范围,当前记录 (3)REPLACE(3)REPLACE命令可以对备注字段的数据进行替换命令可以对

59、备注字段的数据进行替换 可用关键字可用关键字ADDITIVEADDITIVE,追加到备注的文本内容的尾部,追加到备注的文本内容的尾部 否则表达式的内容覆盖备注字段中的原有内容否则表达式的内容覆盖备注字段中的原有内容 (4)(4)字段名和表达式的数据类型必须相同字段名和表达式的数据类型必须相同 数值字段,表达式的值大于字段宽度时,四舍五入运算,或采取科数值字段,表达式的值大于字段宽度时,四舍五入运算,或采取科学计数法学计数法【例【例8.58.5】 在表在表DA.DBFDA.DBF中,对工资小于中,对工资小于800800元的职工各增加元的职工各增加1010元元 USE DAUSE DA REPLA

60、CE ALL REPLACE ALL 工资工资 WITH WITH 工资工资+10 +10 FOR FOR 工资工资800800 USEUSE记录的插入与删除记录的插入与删除 1.1.记录的插入记录的插入 APPEND APPEND 命令是从表末尾增加新记录命令是从表末尾增加新记录 命令格式:命令格式: INSERT INSERT BLANKBLANK BEFOREBEFORE 命令功能:命令功能: 在当前表中的当前记录之前或之后插入记录在当前表中的当前记录之前或之后插入记录说明:说明:(1)(1)没有选择项,是在当前记录之后插入一个记录没有选择项,是在当前记录之后插入一个记录(2)(2)如果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论