vf基本知识点

合集下载

visual foxpro 重点知识

visual foxpro 重点知识

Visual FoxPro重点知识总结第一章数据库设计基础1、数据:存储于某种媒体,能被识别的物理符号。

2、数据处理:将信息转换成信息的过程。

3、数据管理:指对数据的组织、分类、编码、存储和维护。

4、数据库(DB):存储在计算机上结构化的相关数据集合,不但包含数据本身,还包含数据之间的联系。

5、数据库管理系统(DBMS):用户和数据库之间的接口,是帮助用户建立、维护和使用数据库的软件系统。

6、数据库系统(DBS):指引进了数据库技术后的计算机系统,实现了有组织地、动态地存储大量相关数据,为数据处理和信息资源共享提供了便利手段。

7、实体:客观存在并且可以相互区别的事物。

8、属性:描述实体的特性称为属性。

9、实体型:属性值的集合表示一个实体,而属性的集合表示一种实体的类型。

10、实体集:同类型实体的集合。

11、联系:实体间对应关系称作联系,它反映现实世界事物之间的相互关联。

联系分为一对一,一对多和多对多。

12、数据模型:数据库管理系统中用来表示实体和实体间联系的方法。

13、层次模型:用树形结构表示实体之间联系的模型称为层次模型,在层次模型中,结点是实体,树枝是联系,从上到下是一对多的联系。

14:网状模型:用网状结构表示实体之间联系的模型称为网状模型。

可以说,网状模型是层次模型的扩展,表示多个从属关系的层次结构,呈现一种交叉关系。

15、关系模型:用“二维表”结构表示实体之间联系的模型称为关系模型。

关系模型是以关系代数理论为基础的,在关系模型中,操作的对象和结果都是二维表,即关系。

16、关系:在关系型数据库中,关系在逻辑上就是一张二维表,它由行和列组成。

它有且仅有一个关系名,是用户在磁盘中找到它的唯一标识。

表示格式:关系名(属性名1,属性名2,…,属性名n),在VF中表示为表结构:表名(字段名1,字段名2,…字段名n)。

17、属性:二维表中的一列,表示实体的一些相关特性。

在VF中,属性被称为字段。

18、元组:二维表中的一行,表示一个实体所属性的集合。

vf知识点

vf知识点
2.给表学生信息添加一个家庭住址字段
alter table 学生信息 add 家庭住址 c(23)
3.给学生表的添加年龄字段并设置有限性规则,要求年龄在1--100岁之间
alter table 学生 add 年龄 i check 年龄>0 and 年龄<100
规律2:子查询的select和from之间的字段名一定与外查询where后的字段名相同 书上P79
规律3:三张表的超链接,连接条件书写顺序问题: 先写内层关联条件,然后写外层关联条件。
规律4:where group by having 的顺序
规律5: 两表联查的时候,如果:form 表1,表2 条件:where 时间 如果:inner join 后边必须on
六、货币型常量(Y)
定界符:$ 以$开头,小数部分若超过4位,则四舍五入取4位小数。
变量:
一、内存变量赋值
格式1: 内存变量=表达式 例如:a=10
格式2: store 表达式 to 内存变量表 例如:store 20 to a,b,c
recall 恢复带删除标记的记录
zap 清楚所有记录
edit和change 交互修改记录
replace ...with ... 直接修改表记录内容
set deleted off 显示记录时不忽略删除标记
having 分组之后进行筛选的
order by 排序
注意:top必须和order by 一起使用
规律1:如果select和from之间用到五个函数则极有可能要分组,一般情况下分组字段就是select后面的第一个字段 书上P76页
index on 数值型1+数值型2 to 索引名 解释: 按照数值型1+数值型2的和进行排序

VFP重点知识

VFP重点知识

VFP重点知识第一章VFP系统环境及配置VFP:1.关系数据库管理系统用于存储,维护,分类,检索,统计和分析应用程序主界面:由主窗口(菜单)和程序系统菜单组成。

程序系统菜单由菜单栏(条形菜单)和弹出菜单(子菜单)组成。

功能界面:2.应用程序开发工具,将结构化和面向对象程序设计方法有机结为一体。

1.2 使用VFP的目的在于建立数据库,维护数据库,完成日常任务,编写应用程序等。

1.3 VFP系统主界面由菜单栏,工具栏,主窗口,命令窗口和状态栏组成。

工作方式:1)通过系统菜单执行命令2)利用工具栏按钮执行命令3)在命令窗口中输入命令4)编写程序1.4 系统默认将执行命令的结果发送到VFP主窗口,系统信息窗口,图形状态栏或用户自定义窗口。

配置:临时配置:执行Set开头命令永久配置:1.5 1.项目管理器:创建和管理数据库,程序,查询,表单,菜单,报表和类库等对象的有可视化文件。

(项目文件扩展名:PJX)2.在项目管理器中可以建立,添加,修改或删除对象。

方法:选定对象类名或对象名,随后执行“项目”菜单或项目管理器中相关命令。

命令:显示或隐藏状态栏:set status bar on/off是否显示时钟:set clock on/off设置默认目录:set default to日期格式设置:1.将日期型数据年份设置成4位(on)或2位(off)set century……2.调整日期格式:set date (日期格式名) 命令是否显示命令执行结果:set talk on/off显示系统配置:display/list status (to printer)第二章VFP表达式级应用数据:程序加工处理的对象,以某种特定的形式存在。

不同的数据类型存储方式与运算方法不同。

表达式:运算符连接常数,变量和函数等构成的运算式。

2.1 数值型数据:N 占8个字节,表示1—20位数据字符型常数是整数或实数,可用科学计数法表示字符型数据:C 半角英文字符占一个字节,一个汉字或全角字符占二个字节字符型常数:用定界符括起来的一串字符日期型数据:D占八个字节,常用大括号括起来。

vf基础知识

vf基础知识

第一章数据结构与算法 1.1 算法算法:是指解题方案的准确而完整的描述。

算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。

算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数终止。

特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。

算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。

指令系统:一个计算机系统能执行的所有指令的集合。

基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。

算法的控制结构:顺序结构、选择结构、循环结构。

算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。

算法复杂度:算法时间复杂度和算法空间复杂度。

算法时间复杂度是指执行算法所需要的计算工作量。

算法空间复杂度是指执行这个算法所需要的内存空间。

1.2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。

数据结构是指相互有关联的数据元素的集合。

数据的逻辑结构包含:1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。

数据的存储结构有顺序、链接、索引等。

线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。

非线性结构:不满足线性结构条件的数据结构。

1.3 线性表及其顺序存储结构线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。

在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。

vf基础知识要点

vf基础知识要点

#数值类型【科学记数法】格式:实数E整数。

如3.5E3,表示3.5*10^3。

E大小写均可,指数可以为负数。

【算术运算符】加法(+)、减法(-)、乘法(*)、除法(/)、乘法(**,^)【优先级】括号最高,然后乘方,然后乘除,然后加减【余数计算规则】1. 被除数=除数*商+余数2. 余数的绝对值必须小于除数的绝对值3. VFP规定余数和除数同号【精度】总原则:除非是整数,否则至少保留2位小数。

不存在计算结果只有1位小数的情况。

+,-:取两个操作数的小数位数多的一个作为计算结果的小数位数。

只有两个整数相加减结果才是整数。

*,/:将两个操作数的小数位数相加,作为计算结果的小数位数。

只有两个整数相乘除结果才是整数。

%:余数的计算结果,小数位数和被除数一致。

被除数为整数时,结果为整数。

**,^:计算结果至少保留2位小数。

无论任何情况,计算结果都不为整数。

货币类型1. 只要在数值类型前加上$符号即代表货币类型2. 小数位数永远保留4位#数值函数【绝对值和符号】ABS(数值表达式):求数值表达式的绝对值。

SIGN(数值表达式):求数值表达式的符号。

特别的,若用X表示某表达式,则ABS(X)*SIGN(X)=X【取整和四舍五入】INT(数值表达式):直接对数值表达式取整,直接舍去小数部分。

CEILING(数值表达式):天花板函数,返回大于该表达式的最小整数。

FLOOR(数值表达式):地板函数,返回小于该表达式的最大整数。

ROUND(数值表达式,精度):精度为正,表示保留几位小数;精度为0,表示保留整数;精度为负,表示将整数后几位置为0。

【其他】SQRT(数值表达式):求数值表达式的平方根。

其中,数值表达式必须是非负数,可以不是整数。

MOD(被除数,除数):求余数,规则和%运算符相同。

PI():求圆周率,返回值为3.14。

MAX(一组表达式):求这组表达式中的最大值。

MIN(一组表达式):求这组表达式中的最小值。

VF基础讲义

VF基础讲义

第一章数据库基础知识一、数据:1、数据(DATA):存储在媒体上能够识别的物理符号。

其一,能够描述事物的特性,其二,能够存储在媒体上。

文字数据(数字,字母,文字)和多媒体数据(声音,图象,动画)2、数据处理:将数据转化成信息的过程。

3、数据管理发展三个阶段:人工管理阶段,文件系统阶段,数据库系统阶段。

数据库系统阶段特点:提高共享性,减少冗余度。

二、数据库系统:DATABASE SYSTEM1、数据库DATABASE (DB):存储在计算机上的结构化数据的集合。

2、数据库管理系统(DBMS):对数据库的建立、更新和维护所配置的软件。

是数据库系统的核心软件。

VISUAL FOXPRO 就是一个可以在计算机和服务器上运行的数据库管理系统。

3、数据库应用系统:系统开发人员利用数据库系统资源开发出来的、面向某一类实际应用的应用软件系统,例如以数据库为基础的财务管理系统、人事管理系统、图书管理系统、教学管理系统、生产管理系统。

4、数据库管理员(DBA):职责:●参与数据库的规划、设计和建立;●负责数据库管理系统的安装和升级;●规划和实施数据库的备份和恢复;5、数据库系统(DBS):由五部分组成:硬件系统,数据库集合,数据库管理系统,数据库管理员和用户。

6、数据库系统的核心软件:数据库管理系统(DBMS)。

7、DBS、DB、DBMS 三者之间的关系:DBS包含DB和DBMS三、数据模型:1、实体:客观存在的并且可以相互区分的事物称为实体。

2、属性:描述实体的特征和状态称为属性。

3、实体间联系:(1)一对一联系:学生和学号,公司和经理1:1(2)一对多联系:学校和学生,部门和职员1:M(3)多对多联系:学生和选课,图书和读者M:N4、数据模型:表示实体和实体间联系的方法的一种结构图。

(1)层次模型:用树形结构表示实体和实体间联系的模型。

(2)网状模型:用网状结构表示实体和实体间联系的模型。

(3)关系模型:用二维表结构表示实体和实体间联系的模型。

vf的汇总知识

vf的汇总知识

第一章vf的基础知识(1)人工文件数据库(2)关系运算传统:交并差专门:选择:行元组(记录) for where 行减少一个表投影:列属性(字段) fields 列减少一个表连接:多个表行列减少变多join on自然连接:多个表去掉重复属性的等值连接笛卡尔积:多个表3 * 3(3)关系的特点: 关系表二维表(.dbf)一个关系必须规范化元组不能重复属性不能重复属性的顺序没有要求记录顺序没有要求(4)项目(.pjx)建立项目:create project [项目名]修改项目:modify project [项目名]第二章函数常量数值表示方法:直接表示123 12.35 N货币常量表示:$123 默认4位小数$123 123.0000 8字节Y字符常量表示:"" '' [] sql Cthisform.grid1.recordsource="sele ..where 颜色='蓝' "日期常量{} 2005/05/02=>数值表示:{yyyy/mm/dd} 8字节D{yy/mm/dd}{mm/dd/yyyy} 传统严格:{^yyyy/mm/dd}set mark to ',' : set mark to :set date to ymd mdy dmy ...set cent on|offset stri to 0|1|2日期时间常量: {yyyy/mm/dd hh..} 8字节T逻辑型:m=5>6 .t. .T..y..Y. .F. .f..N..n. 1字节L表达(1)字符: + - 连接类型必须相同1+2=3"1"+"2"=12 1+"2" ×"1"-"2"=12"1 "+" 2 "=1口口2口"1 "-" 2 "=1口2口口(2)日期表达式:日期+日期×日期+数值√日期-数值√日期-日期(3)逻辑: and or not !.and. .or. .not. not>and>or(5)==:精确比较职工号=="z1" z1 z11 z12 z112日期越后的越大.t.>.f.$:包含left 左边right右边substr "...........""计算机" $ 商品名商品名like "%计算机%"like(商品名,"*计算机*")函数数值abs()sign()sqrt()int(3.456) =>3ceil(3.456)=>4floor(3.456)=>3round(3.456,2)=>3.46round(456.325,-2)=>500max("2","9","85")=>9min("计算机","电脑")=>电脑j d字符函数(1)len(字符型):结果数值len(sapce(0))=>0len(space(3)+space(5))=>8len(space(5)-space(3))=>8(2)space(数值):结果字符(3)trim() 后面结果字符ltrim() 前面allttrim() 前后into table allt(thisform.text1.value) (4)left(姓名,2) 左结果字符right(姓名,2) 右substr(姓名,2)任意位置截取一直到末尾substr(姓名,2,3):(5)at("..","..."):第一次结果数值at("..","...",n):第n次(6)stuff("abcdef",2,3,"11"):a11efstuff("abcdef",2,3,""):aefstuff("abcdef",2,0,"11"):a11bcdef(7)like(表达式1,表达式2):表达式可以出现通配符?*like("ab*","abcd") .t.like("abcd","ab*") .f.转换(1)str():数值转换为字符str(表达1,表达2,表达3) str(thisform.text1.value,8,2)(2)val():字符转数值(3)ctod():字符转日期(4)dtoc():日期转字符(5)year():截取年份n(6)month():月份n(7)day():天n(8)date():系统日期d(9)time():系统时间c(10)bof():表的首部(11)eof():表的末尾do while not eof()(12)&: &"123"=>123(13)vartype():(14)empty():"空值"测试0 .f. 空格空串 .t.empty(.null.)=> .f.(15)isnull():空值isnull(.null.) => .t.(16)iif(150>200,200,300)变量字段变量(表中的字段名)和内存变量(除表的字段名以外)当字段变量和内存变量同名,最终字段变量优先,要访问内存变量m.内存变量m->内存变量(1)假设表中的字段名姓名张三命令窗口输入:姓名=姓名-"你好"?姓名=>张三?m.姓名?m->姓名=>张三你好(2)假设表中的字段名商品名计算机命令窗口输入:m=商品名-"技术"?m => 计算机技术?商品名->计算机(3)x=3y=3store 3 to x,y(4)?:换行输出??:当前光标处输出一行(5)数组dime(1)数组的初值: .f.(2)数组的起始的小标(下标的下线):1(3)数组的个元素的类型可以不一样(4)vf变量的数据类型由变量的值决定,可以通过改变变量的值来改变变量的类型(5)对数组名赋值代表对所有元素赋值(6)可以用一维数组表示二维数组(6)scatter to :将表的当前记录赋值到数组gather from :将数组的值赋值到表的当前记录第三章数据库基本操作数据库(.dbc)数据库的命令(1)建立数据库:create database 数据库名(2)打开数据库:open database(3)修改数据库(打开数据数据库设计器):modify database(4)关闭数据库:close database(5)删除数据库:delete database(6)将自由表添加到数据库:add table(7)将数据库移除变为自由表:remove table(8)设置当前数据库:set database to 数据库名(9)取消当前数据库:set database to (所有的数据库都不是当前,不是关闭) 自由表:不属于任何一个数据库的表数据库表:放在库中(1)一个表只能属于一个数据(2)数据库表(1)字段有效性(域完整性):规则:逻辑表达式><信息:字符表达式""默认值:由字段的类型"" {} $ 123(2)索引:主候选普通唯一(3)联系:永久联系:表现为表与表之间的连线(1)必须在数据库设计器(2)建立永久联系必须先建索引:一个主一个普通(3) 一对一一对多主主(默认) 主普通(默认)候选候选主唯一主候选候选普通候选主候选唯一临时联系:指针的联动(1)先建立索引,一般主对普通(2)指针的联动:当父表的指针指向某条记录,子表的指针自动指向同一条记录(3)建立临时命令:set relation to 索引字段into 表名(4)取消临时联系:set relation to(4)参照完整性:更新插入删除步骤:(1)建立索引(2)建立永久联系(3)清理数据库:数据库->清理数据库(4)建立参照完整性更新:级联父子限制父子忽略删除:级联父子限制父子忽略插入:限制子父忽略自由表的特点:(1)自由表不能建立上面的操作(2)自由表不支持长表名into table allt(thisform.text1.value)(3)自由表:候选普通唯一(4)将数据库表删除后,原来是主索引->候选索引索引:逻辑顺序由指针构成的文件索引和表单独存放(1)主索引: 一个数据库表只能建立一个主索引建立主索引的字段值不能重复(2)候选索引:一个表可以建立多个候选候选索引和主索引的功能完全相同建立主索引的字段值不能重复(3)普通:一个表可以建立多个普通建立普通就是为了排序建立普通索引的字段值可以不重复,也可以重复(4)唯一:一个表可以建立多个唯一建立唯一就是为了排序建立唯一引的字段值可以不重复,也可以重复建立唯一索引,如果字段不重复,结果全部出现如果字段重复,重复字段结果只出现一个,默认出现第一个(5)建立单索引(.idx)index on 索引表达式to 索引名注意(1)一个单索引产生一个文件,多个单索引产生多个文件(2)单索引的文件名就是to后面的索引名(3)单索引只能升序,不能降序(4)单索引只能两种索引:普通(默认) 唯一(unique)(6)结构符合索引(.cdx)注意:(1)多个结构符合索引只产生一个文件(2)结构符合索引的文件名就是表名(3)结构可以升序,也可以降序默认:升序asce desc(4)建立三种:候选(candidate) 唯一(unique) 普通(默认)(5)index on 索引表达式tag 索引名(7)排序:物理顺序生成一个表文件和原来的表分开存储命令:sort on 排序字段to 表名(8)查找顺序查找:locate for 查找条件(1)locate for 无论执行多少次,最终只能找到符合条件的第一条记录(2)继续查找:continue(3)判断查找是否成功:found() .t. 找到.f. 未找到(4)如果找到则eof()=> .f.如果没有找到: 则eof()=>.t.索引查找:seek(1)要用seek,必须按查找的字段先建立索引(2)继续查找:skip(3)locate for 性别="男" seek "男"(9)设置当前索引(打开索引)(1)命令建立索引:index on tag 直接有效(2)设计器:不会直接有效set order to 索引名set order to :关闭有效索引第四章sql(1)简单sql公式sele 结果字段1,结果字段2,...from 表where 条件注意:(1)*:所有字段* from 表1 * from 表1,表2 表1.*(2)distinct:去掉重复记录张三女张三女(3)where 查询条件(2)连接查询(1)where 连接等价于[inner] join on 内连接wheresele 结果字段from 表1,表2,..where 表1.公共字段=表2.公共字段; and ..and 查询条件join on (2个表)sele 结果字段from 表1 join 表2 on 表1.公共字段=表2.公共字段; where 查询条件join on(3个表)sele 结果字段from 表1 join 表2 join 表3 ;on 表2.公共字段=表3.公共字段;on 表1.公共字段=表2.公共字段;where 查询条件(2)超级连接left join :左连接左的表如果不满足条件,结果也会出现,满足条件的也会出现right join:右连接full join:全连接join on:内连接只有满足的才会出现嵌套(1)in not in 在....里面sele 结果字段from 结果的表where 公共字段in;(sele 公共字段from 条件的表where 查询条件)(2) exists (真的条件) not exist (假的条件)sele 结果字段from 结果的表where exists;(sele * from 条件的表where 结果表.公共字段=条件表.公共字段; and 查询条件)计算查询(1)sum(参数) 求和(2)max (3)min (4)avg() (5)count()数数计数排序sele 结果字段from 表where 条件;order by 字段1 [asc|desc],排序字段2 [asc|desc],...注意:(1)order by 排的最终结果的顺序修正(2)排序可以更多个字段,从左到右的顺序(3)asc 升序desc 降序默认为升序分组sele 结果字段from 表where 条件;order by 排序[asc|desc];group by 分组字段1,分组字段2,...[having 分组的条]注意(1)as 重命名sele 原字段as 结果字段...(2)avg max sum min count:只能写在sele 或having(3)order by :结果排序只能跟结果字段(4)where :只能跟原字段(5)group by :可以跟原字段也可以是结果字段(6)条件:where having(7)having:必须跟在group by 的后面(8)having 和where 不矛盾先用where 限定元组,在用group by 分组,然后再用having去掉不满总条件的分组(9)嵌套查询sele ..(sele...)order by 不能用在子查询中查询去向(1)top n [perc] :前多少条:top必须和order by 同时使用(2)into array 数组名(3)into cursor 临时表(4)into table|dbf 永久表(5)to file 文本文件数据操纵(1)插入数据非sql:append insert append fromsql:insert into 表名values(字段值):插入全部字段insert into 表名(制定字段)values(字段值):插入部分字段insert into 表名from array 数组名insert into 表名from memvar 从同名的内存变量(2)更新数据非sql:replace 更新字段名with 字段值:只能当前一条replace 更新字段名with 字段值for :满足条件replace all 更新字段名with 字段值for : 满足条件replace all 更新字段名with 字段值:全部sql:update 表名set 字段名=字段值:默认全部update 表名set 字段名=字段值where :符合条件(3)删除记录非sql(1)逻辑删除:dele for 条件(2)恢复:recall for 条件(3)物理删除:pack 必须先逻辑后物理(4)彻底删除:zap 删除全部记录后,表依然存在sql:(1)逻辑删除:dele from 表名where 条件(2)物理:pack数据定义(1)建立表:create table|dbf 表名[name 长表名][free];(字段名1 字段类型[(字段宽度[,小数位数])] [null|not null] [check [error]] [default][primary key |unique ][refe 表2][,字段名2...])(2)修改表格式1:alter table 表名add|alter [column] 字段名字段类型[(字段宽度[,小数位数])] [null|not null][check [error]] [default][primary key |unique ][refe 表2][,字段名2...])格式2:alter table 表名alter [column] 字段名[null|not null] [set default] [set check][drop default] [droup check]格式3:alter table 表名drop 字段名alter table 表名renamen 原字段名to 新字段名alter table 表名add primary key |unique ..alter table 表名drop primary keyalter talbe 表名drop unqiue tag 索引名查询和视图查询的知识点(.qpr)(1)查询是预先定义好的sql sele 语句(2)是一个文本文件(3)建立查询(1)新建->查询(2)项目->数据->查询(3)create query 查询文件名(4)新建->文本文件->sql->保存->.qpr(4)修改查询:modify query 查询文件名(5)查询的选项卡: 字段->sele连接->join on筛选->where排序->order by分组->group by having杂项->top distinct运行查询:do 查询文件名.qpr视图(1)基于sql产生(2)视图保存在数据库中,磁盘上不存在,操作视图,必须先打开数据设计器(3)查询保存在磁盘上,就是叫查询文件,跟数据库无关(4)视图:字段连接筛选排序分组更新条件杂项(5)查询只能查表,但是不能更新表,视图既可以查询表,也可以更新表(6)建立视图:create view 视图名as sele ..(7)删除视图:drop view 视图名(8)修改视图:modify view表单(.scx)表单文件名:保存或关闭表单控件名(表单名):name表单标题:catpion背景色:backcolor自动居中:autocenter模式表单:windowtype不可移动:movable高:height宽:width左:left顶:top表单的退出命令:thisform.release方法:退出release 显示:show 隐藏:hide表单:load init destroy unload事件:click dblclick rightclick属性:caption backcolor name ...建立表单:create form 表单名修改表单:modify form 表单名运行表单:do form 表单名标签(label1)属性name:名字caption:标题fontsize:字体大小forecolor:字体颜色autosize:自动调整大小backcolorfontname:字体backstyle:是否透明文本框(text1)name:名字value:文本框的值inputmask:格式x:任意字符9:数字和+ - #:空格数字+- . , passwordchar:密码显示的字符表示文本框的值:thisform.text1.value将sql的结果放入文本框:(1)sele ..into array aa(2)thisform.text1.value=aa命令按钮(command1)属性default:默认按钮enter click .t. 一个cancel:取消escenabled:是否可用(黑色和灰色)visible:是否可见(显示和隐藏)caption:标题事件:click选项组:optiongroup1 option1 option2属性:value=n:第n 个按钮被选中if thisform.optiongroup1.value=n :选中第n个按钮.....elseendifdo casecase ....endcasebuttoncount:按钮的个数组合框(combo1)value:选中的值displayvalue:选中或输入的值displaycount:显示的最大数目字段名=bo1.displayvalue rowsourcetype:数据源的类型0-无additem 增加条目removeitem 删除条目1-值手动自己输计算机,电脑,...6-字段某个字段的值8-结构显示某个表的所有字段名3-sql 写sele 命令5-数组数组名7-文件*.doc *.xls 幻灯片pptrowsource:数据源列表框(list1)value:列表框中选中的值listcount:列表框中的条目总数rowsourcetype:数据源的类型rowsource:数据源list(i):代表第i个条目thisform.list1.value页框(pageframe1) page1 page 2..pagecount:页数activepage:激活某一页thisform.pageframe1.activepage=n:激活第n页表格(grid1)captionrecorsourcetype:数据源的类型0-表开关的状态无关1-别名表必须开4-sql sele 语句recordsource:数据源columncount:列数-1 :全部列N:只能有n列0-表thisform.grid1.recourdsource="表名"4-sqlthisform.grid1.recourdsource="sele .. into cursor "计时器(timer1)interval: 计时器时间间隔500复选框(check1)value=1 选中=0 为选中check1 check2 (一个check就是2个结果,二个check就是4个结果)菜单(.mnx .mpr)建立菜单(1)先建->菜单->(.mnx)->单击菜单->生成(.mpr)菜单文件菜单程序文件(2)运行:.mpr 程序文件(3)菜单表文件(书227页,本身并不能运行,必须要生成)(4)建立菜单/修改:modify menu 菜单名(5)退出菜单:set sysmenu to default(6)退出表单:thisform.release(7)菜单的显示位置:单击显示->常规选项->位置访问键: (\<字母)快捷键: 直接输(菜单设计器的选项打勾后,再按ctrl+某个键)分组线:\-运行菜单:do 菜单名.mpr(8)顶层表单(将菜单显示在表单上)菜单(1)建立菜单(2)单击显示->常规选项->勾上顶层表单表单(1)将表单的showwindow -2(2)给表单init (load):添加调用菜单的代码:do 菜单文件名.mpr with this注意:菜单中要用表单中的东西原来表单中:thisform.release菜单中:表单文件名.release快捷菜单(将菜单显示在表单上,右键才可以显示)菜单(1)先建->快捷菜单(2)单击显示->常规选型->设置-> para 形参名(是否设形参,关键是要看你的菜单是不要用表单,如果要就必须设,不要就不设)表单(1)在表单的rightclick 添加代码do 菜单名.mpr with this注意快捷菜单也可以用表单的东西原来在表单:thisform.release菜单中:形参名.release程序(.prg)注释*:&&:note :输入命令(1)input "输入提示" to 变量:输入任意类型数值:1213货币:$123字符型:"" '' []日期: {}(2)accetp "输入提示" to 变量:只能输入字符串字符:不用""(3)wait "输入提示" to 变量:只能输入单个字符程序结构(1)顺序结构(2)选择结构:if if do caseendif else case ..endif ..endcase (3)循环结构do while for scan for.. .. ..enddo endfor endscanloop:结束本次循环继续下一次exit:结束循环参数传递格式1: do 过程名(函数名) with 参数do aa with 5 (常量): 单向do aa with x+y (表达式):单向do aa with (x) (带括号的变量):单向do aa with x (变量):双向格式2:过程名(参数)set udfp to value:设置单向传递单向aa(5)aa(x+y)aa((x))aa(x)set udfp to refe :双向aa(5) :单向aa(x+y):单向aa((x)):单向aa(x) :双向变量的作用域公共变量:publicpublic 变量初值:.f.作用范围:全部都可以用私有变量:在他和他的下层可以使用直接定义的变量叫私有变量局部变量:local 变量名初值:.f.只能在本模块中使用建立和修改程序:modify command 运行程序:do 程序名do 查询.qprdo 菜单.mprdo form 表单报表(.frx)标签:显示文字表达式:域控件ole对象:图片建立报表:create report 报表名修改报表:modify report 报表名预览报表:report form 报表preview。

vf知识点

vf知识点

<一>数值型 N 货币型 Y 字符型 C 逻辑性 L 日期型 D 日期时间型 T<二>1、Vfp 是面向对象的数据库系统2、数据库 DB数据库管理系统 DBMS (整个数据库系统的核心) 数据库应用系统 DBAS 数据库管理员 DBA 3、数据库系统的特点①实现数据共享,减少数据冗余 ②采用特定的数据模型 ③具有较高的数据独立性 ④有统一的数据控制功能 4、实体间的联系 ①一对一联系 ②一对多联系 ③多对多联系5、数据库管理系统所支持的数据模型分为三种:层次模型(树状结构)、网状模型(网状结构)、关系模型(二维表结构)6、一个关系的逻辑结构就是一张二维表。

数据库并不包括用户数据7、关系术语DBMS (VFP )信息世界现实世界关系 表 实体集 二维表 关系模式 表结构 实体集 表头 元组 记录 实体 行 属性字段属性列表 .dbf 数据库 .dbc数据库备注文件 .dct 数据库索引文件 .dcx 单索引文件 .idx结构复合索引文件.cdx 可执行文件 .exe 应用程序文件 .app 编译文件 .fxp 源程序文件 .prg 备注文件 .fpt 查询文件 .qpr 菜单 .mpr8、在一个关系中,行列的交叉点叫分量,分量是不可再分的,等价于属性不可再分9、关系的特点①关系必须规范化②同一关系中不能出现相同的属性名③关系中不允许有完全相同的元组,即不允许有冗余④在一个关系中元组的次序无关紧要⑤在一个关系中列的次序无关紧要10、关系的基本运算有两类:一类是传统的集合运算,另一类是专门的关系运算并:或A或B①传统的集合运算差:A而非B交:A且B选择:从关系中找出满足给定条件的元组的操作(以行为单位)②专门的关系运算投影:从关系中指定若干个属性组成新的关系的操作(以列为单位)连接:关系的纵向结合。

等值连接自然连接11、变量用于储存数据,其值是可变的。

每个变量有一个变量名,代码通过变量名来访问变量的值。

VF知识点总结

VF知识点总结

第一章 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 一次可以对多个变量赋相同的值。

VF基础知识

VF基础知识

VF基础知识第一节VF基础知识及表的基本操作一、认识VF1.软件名称Microsoft VisualFoxPro 6.0 数据库与程序设计2.如何启动VF开始→程序→Microsoft VisualFoxPro 6.0程序组→Microsoft VisualFoxPro 6.03.认识VF软件界面标题栏:实现软件的还原/最大化、最小化、关闭菜单栏:通过执行菜单栏中的菜单项可实现软件的所有功能常用工具栏:通过单击工具栏上的图标实现软件的部分功能工作区:软件的最大区域,用于显示执行的结果状态栏:显示当前操作的一些提示信息或状态信息命令窗口:输入系统提供的命令后按回车键执行可完成相应的功能※命令:也叫关键字或系统保留字,由VF系统提供,不能更改,特定的命令可以完成特定的功能※命令的特点①由A到Z的字母构成②不区分大小写③输入前四个字母即可实现命令的功能④输入正确后命令显示为蓝色⑤命令与命令之间必须用空格键分隔开4.配置默认路径(打开或保存文件的文件夹)工具→选项→文件位置→默认目录→单击右下角"修改"按钮→单击右侧按钮→选择保存位置→单击"选定"→单击确定→单击确定二、表的基本概念1.表(关系):用于存储需要分析处理的原始数据,相当于一个容器,是数据库中最基本的对象2.实体:自然界中的一切事物3.字段(属性):某一实体的性质,用来体现实体本身的一些参数同时也是区别不同实体的性质,表中的一列4.字段值:字段的取值5.域:字段值的取值范围6.记录(元组):同一实体的字段值的集合,表中的一行7.关键字:取值不允许重复的字段8.主关键字:一个表只能有一个关键字做为主关键字9.候选关键字:其他不能做为主关键字的关键字叫做候选关键字三、表的基本操作1.创建表(三种方式)①通过菜单:文件→新建→选择"表"→单击右侧的"新建文件"按钮→输入文件名→单击保存②通过工具栏:单击常用工具栏上的"新建"按钮→选择"表"→单击右侧的"新建文件"按钮→输入文件名→单击保存③通过命令实现:create 或create ? 或create 表名※表文件的扩展名VF中有多种不同类型的文件(项目、数据库、表、查询、表单、报表、程序、文本文件、菜单等)其中表文件的扩展名是: .dbf2.修改表结构(插入、删除、修改字段)modify structure※设计器:VF系统提供的一种工具,用来实现各种对象(各类型文件)的创建、修改等操作3.浏览表(以表格形式)browse4.追加记录(在最后一条记录后面加一条新记录)append5.在工作区显示全部记录list 或list all 或display all6.在工作区显示符合条件的记录list for 条件或display for 条件如: list for 性别="男" 其中性别="男" 是条件7.在工作区显示当前记录display8.记录的定位(使某条记录成为当前记录)①绝对定位go 记录号或goto 记录号其中记录号是一个正整数②相对定位(相对于当前记录向前或向后移动记录指针)skip n其中n是一个正整数或负整数③go top使第一条记录成为当前记录④go bottom使最后一条记录成为当前记录9.修改记录edit 或change10.替换所有记录的某字段值replace all 字段名with 值11.替换符合条件的记录的某字段值replace 字段名with 值for 条件12.替换当前记录的某字段值replace 字段名with 值13.逻辑删除所有记录(给记录加逻辑删除标记,并未将记录真正从表中删除,还可以将记录恢复到原来的状态)delete all14.逻辑删除符合条件的记录delete for 条件15.逻辑删除当前记录delete16.恢复带有逻辑删除标记的所有记录recall all17.恢复带有逻辑删除标记的符合条件记录recall for 条件18.恢复带有逻辑删除标记的当前记录recall19.将所有带有逻辑删除标记的记录彻底从表中删除并且不可恢复pack20.物理删除(直接删除表中所有记录,此命令只需要一步即可实现)zap21.打开表use 表名22.关闭当前表use23.如何关闭所有打开的表close tables24.如何关闭所有打开的文件(VF中可以创建的各种类型文件)close all25.如何退出VF系统quit26.清除工作区内容clear习题(用命令实现)创建学生表→浏览表中记录→追加四条记录→修改第三条记录的某字段值→删除第二条记录→关闭学生表→打开上一步闭的学生表→退出VF注意学生表中的字段及追回的记录分别是:学号姓名年龄电话001 张三25 87645589002 李四22 87535584003 王五23 88505457004 赵二20 82683854第二节表的相关操作及基本命令一、表的相关操作及基本命令1.概念:①二维关系表:一张表格(现实生活中的学生表、工资表)②字段(属性):表格的标题③字段值(属性值):字段的取值④域:字段的取值范围⑤元组(记录):属性值的集合⑥关键字:字段的取值是唯一(不可能重复)的字段⑦外部关键字:不是本表的关键字,而是另外一个表的关键字,这个字段是两个表的公共字段, 两个表通过这个字段建立关系2.表的基本操作①创建表:create 表名②类型(字段的类型):不同的字段类型,其字段值是不同的a.字符型(C):字母汉字字母与数字的组合,字符型常量有三种定界符"abc" 'a12b' [你好]b.数值型(N):整数或小数85 85.5c.浮点型(F):整数或小数数值范围比数值型大85.5d.双精度型:与浮点型相比数值范围更大,小数数位有效位更多e.整型(I):整数而且数据宽度已经固定,不能更改f.日期型(D):{^1983-05-14} 而且宽度固定为8g.日期时间型(T):{^1983-05-14 14:25:40}h.逻辑型(L):只有两种取值即真(.y.或.t.)或假(.n.或.f.)i.备注型(M):用于存放大量文字(个人简介,年终报告)j.通用型(G):用于存放OLE对象的数据(word文档,图片等)k.货币型(Y):在数值型数据前加一个$符号即可l.二进制型(B):用于保存不希望更改的字符型数据m.备注二进制型:用于保存不希望更改的备注型数据③宽度:数据的位数,一个字母或一个数字占一个宽度,一个汉字占两个宽度3.操作表的基本命令①追加记录:append②以表格的形式浏览记录:browse③在工作区浏览记录a.浏览全部记录:listb.浏览符合条件的记录:list for 逻辑表达式如:list for 性别="男"c.浏览全部记录:display alld.浏览符合条件的记录:display for 逻辑表达式e.浏览当前记录:display.定位到指定记录(使某条记录成为当前记录)a.绝对定位:go n或goto n 其中n是记录号go top定位到首条记录go bottom定位到最后一条记录b.相对定位:skip n 其中n为正数时表示向下定位,其中n为负数时表示向上定位,skip 与skip 1等价c.用locate for命令定位(定位到符合条件的记录,并可能移动到下一条记录)语法格式: locate for 逻辑表达式continue④插入记录:inserta.insert beforeb.insert blank⑤交互式修改记录:a. editb. change⑥用replace命令修改记录a.修改当前记录的某个字段的值replace 年龄with 50replace 年龄with 20,性别with "男"b.修改当前表所有记录的某个字段的值replace all 年龄with 50⑦删除记录步骤:a.逻辑删除b.物理删除带有逻辑删除标记的记录.逻辑删除a.逻辑删除当前记录:deleteb.逻辑删除符合条件的记录:delete for 逻辑表达式c.逻辑删除所有记录:delete all⑧物理删除带有逻辑删除标记的记录执行pack命令即可⑨去掉逻辑删除标记a. recall allb. redall for 逻辑表达式⑩物理删除所有记录,一次性彻底删除zap命令删除只是将记录删掉,表结构依然存在第三节数据库及其操作一、数据库及其基本操作1.概念:相当于一个仓库,里面存放有关系的二维关系表2.数据库的基本操作①创建数据库:a. create databaseb. create database ?c. create database 数据库名②打开数据库设计器modify database③将已经存在的表添加到数据库a. 右击数据库→添加表b. add table 表名④浏览表双击二维关系表即可⑤打开表设计器a. 右击表→修改b. modify structure※状态栏上显示的表是当前表,当前的一些操作都是针对当前表⑥移去表:将表从数据库中移去,但表还在硬盘上,此时的表叫做自由表(不属于任何一个数据库的表叫自由表,此表可添加到任何一个数据库,但当前只能属于一个数据库)a.右击表→删除→单击"移去"按钮b.remove table 表名⑦删除表:从硬盘上将表彻底删除a.右击表→删除→单击"删除"按钮b.drop table 表名⑧新建表a. 右击数据库设计器→新建表b. create 表名⑨关闭数据库close database⑩打开数据库open database⑾删除数据库delete database 数据库名称注意一定要加名称二、索引1.概念:可以为根据某个字段设置索引,从索引的功能角度理解索引,索引有两个主要功能即一是建立索引用于提高查询速度,二是建立索引是建立表与表之间的前题条件2.索引的类型:①主索引:只有关键字可以设置为主索引,一个表只能设置一个主索引②候选索引:只有关键字可以设置为候选索引,一个表可以设置多个候选索引③普通索引:任何一个字段均可设置为普通索引3.如何建立索引:①打开表设计器②选择欲设置索引的字段,单击字段名右侧索引下拉列表,选择升序或降序③切换到索引选项卡,修改索引名,索引类型,索引表达式三、关系1.建立关系的前题条件①有两张(含)以上表②两表之间有相同字段③将其中一张的相同字段设为主索引或侯选索引,将另外一张表的相同字段设的普通索引2.如何创建关系将其中一张表的主索引拖放到另一张表的普通索引上即可四、完整性规则(通过多种手段在多个层次上确保字段值或记录的正确,有效)㈠域完整性(字段有效性):确保字段的取值正在有效范围内,即保证字段值正确无误1.创建字段有效性的步骤①打开表设计器②选择需要设置"字段有效性"的字段③在右下角的字段有效性区域设置规则、信息、默认值※规则表示字段的取值范围,信息表示违返规则时的出错提示信息,默认值就是字段的默认值㈡实体完整性:确保表中记录唯一(不重复)通过创建主索引或候选索引实现实体完整性㈢参照完整性:确保表与表之间记录的有效1.如何设置参照完整性约束规则①数据库→清理数据库②数据库→编辑参照完整性③设置相应的规则(更新、删除、插入规则)※问:清理失败时怎么办?答:执行close tables命令后再次清理数据库※子表:普通索引所在表主表(父表):主索引所在表第四节SQL(结构化查询语言)一、单表查询(从一张表中查询我们需要(感兴趣)数据)SQL(structure query language)结构化查询语言从已经存在数据的表中检索符合条件的数据,我们现在学习的是SQL语句的查询功能1、查询某张表中的某些列select 字段1,字段2,...字段n from 表名2、查询customer表中全部记录,查询结果包含客户号,客户名,电话select 客户号,客户名,电话from customer※select 关键字后面的字段限制了查询结果的列3、查询customer表中全部记录,查询结果包含所有字段select * from customer注意:*号代表表中全部字段4、查询order_list表中总金额在10000元以上(含)的记录,查询结果包含客户号,订单号,总金额select 客户号,订单号,总金额from order_list where 总金额>=10000※where 关键字影响了查询结果的行,即将不符合条件的记录筛选掉,where 后面是查询条件5、从order_list表中查询C10001客户签订的订单,并且订单总金额在5000元(含)以上的记录,查询结果包含客户号,订单号,订购日期,总金额select 客户号,订单号,订购日期,总金额from order_list where 客户号="C10001" and 总金额>=5000※当查询结果需要同时满足多个条件时,条件之间用and连接续行符:语句末尾加分号,表示分号前的语句与分号后的语句是同一条语句6、从order_detail表中查询订单号是OR-01C或OR-04C的全部记录方法一:select * from order_detail where 订单号="OR-01C" or 订单号="OR-04C"※当查询结果满足条件1或条件2中的一个即可时,条件之间用or 连接方法二:select * from order_detail where 订单号="OR-01C" union select * from order_detail where 订单号="OR-04C"※union关键字要求前后两个select语句查询结果字段类型,数量(列数)一致7、从order_detail表中查询单价大于500元并且订单号是OR-01C或OR-04C的全部记录select * from order_detail where 单价>500 and (订单号="OR-01C" or 订单号="OR-04C")8、从order_detail表中查询单价在500(含)到1200元(含)之间的记录a. select * from order_detail where 单价>=500 and 单价<=1200b. select * from order_detail where 单价between 500 and 1200※between...and 语句包含500与12009、从order_detail表中查询单价不在500到1200元之间的记录select * from order_detail where 单价not between 500 and 1200※not表示否定10、使用通配符进行查询a.从customer表中查询客户名以公司结尾的记录,查询结果包含客户号,客户名,地址select 客户号,客户名,地址from customer where 客户名like "%公司"※%是通配符,可以代表一个或多个任意字符_是通配符,可以代表任意一个字符b.从customer表中查询客户号第二个字符是1的记录select * from customer where 客户号like "_1%"11、按总金额从低到高的顺序查询order_list表中的全部记录select * from order_list order by 总金额asc12、从order_detail表中查询订单号,器件号,单价,数量,查询结果先按单价降序排序,再按数量升序排序select 订单号,器件号,单价,数量from order_detail order by 单价desc,数量asc※order by 关键字在不加desc(降序)或asc(升序)时,默认为升序(asc)13、聚合函数:在查询过程中对查询结果进行计算(求和,求平均值,求最大值,求最小值,统计个数)a. 求和函数SUM()从order_detail表中查询所有数量的总和(新字段名为总数量)select sum(数量) as 总数量from order_detail※as 后面是新字段名,as 可以省略b.求平均值函数AVG()从order_detail表中查询所有单价的均价(新字段名为平均单价) select AVG(单价) as 平均单价from order_detailc.最大值函数MAX()从order_detail表中查询最高单价(新字段名为最高单价)select max(单价) as 最高单价from order_detaild.最小值函数MIN()select min(单价) from order_detaile.计数函数COUNT()计算order_detail表共有多少条记录select count(*) as 记录个数from order_detail14、分组与计算(使用聚合函数)查询a.从order_detail表中查询每种订单的数量总和查询结果包含订单号,数量总和(来自数量字段)字段select 订单号,sum(数量)as 数量总和from order_detail group by 订单号※group by 订单号表示按订单号分组,有几种订单号则分成几组,聚合函数是针对每组中的记录进行统计※请注意当在select短语后面使用某聚合函数,但整个语句中没有group by 短语时,则查询结果只有一条记录,此聚合函数针对所有记录进行统计b、从order_list 表中查询订购总金额在50000元以上(含)的每个客户的客户号,订购总金额(新字段)select 客户号,sum(总金额) as 总订购金额from order_list group by 客户号having 总订购金额>=50000※having 总订购金额>=50000是分组条件,通过聚合函数构造的新字段如果符合having关键字限定的分组条件则显示在查询结果中,否则反之c、从order_list 表中统计每个客户签订的订单数量,查询结果包含客户号,订单个数select 客户号,count(*) as 订单个数from order_list group by 客户号15、查询去向a、将查询结果保存到永久表中(就是已经存放在计算机中的表,关机后此表也不会消失)select.. from.. where.. group by.. having.. order by.. into table 表名※也可将table替换成dbf,二者完全一样b、将查询结果保存到临时表中(在内存中存放,当关闭VF后临时表自动消失,临时表也像永久表一样有名字)select...from...where...group by...having...order by...into cursor 表名c、将查询结果保存到文本文件中(相当于记事本文件)select...from...where...group by...having...order by...to file 文件名※如何将命令保存到文本文件中:1.文件→新建→文本文件2.将命令粘贴到文本文件中3.文件→保存4.在弹出的"另存为"对话框中的"保存文档为"文本框中输入文件名,注意一定要在文件名后加文本文件的扩展名.txt式为:文件名.txt★综合举例:例:从order_list表中查询在2002年订购商品的每个客户所订购的订单总数(新字段为订单数量),订购总金额(每个客户所有订单的总金额之和)但总金额之和应在5000元以上,查询结果按总金额降序排序,总金额相同时按客户号降序排序,并保存到永久表temp中select 客户号,count(*) as 订单数量, sum(总金额) as 订单总金额from order_list ;where year(订购日期)=2002 group by 客户号having 订单总金额>=5000 ;order by 订单总金额desc,客户号desc into table temp二、多表查询(查询结果来自多张表即select后面的字段来自两张以上的表)1、用where实现从多张表中查询数据例:查询总金额在5000元以上的每个客户的客户号,客户名,订单号,器件号,订单数量(订单数量必须在2个以上),订购日期,查询结果按订单数量升序排序,客户号降序排序,最后将查询结果保存到永久表table1表中select customer.客户号,客户名,order_list.订单号,器件号,count(*) as 订单数量,订购日期; from order_detail,order_list,customer where order_detail.订单号=order_list.订单号;and order_list.客户号=customer.客户号and 总金额>=5000 group by customer.客户号; having 订单数量>2 order by 订单数量,customer.客户号desc into table table1※当查询结果来自两张表时须在where关键字后面体现联系条件, 当既有查询条件又有联接条件时,可以使用如下格式:select...from...where 性别='女' and 学生表.学号=课程表.学号※当select语句中的某字段在from后面的多张表中都存在时,必须在此字段前面写上其中一张表的名字格式: 学生表.学号2、用inner join(内连接)实现从多张表中查询数据select customer.客户号,客户名,order_list.订单号,count(*) as 订单数量,订购日期;from order_detail inner join order_list inner join customer ;on customer.客户号=order_list.客户号;为什么没有and?on order_list.订单号=order_detail.订单号where 总金额>=5000 ;group by customer.客户号having 订单数量>=2 ;order by 订单数量,customer.客户号desc into table table1※应用内连接时用on关键字体现联接条件,用where关键字体现查询条件顺序为表1 inner join 表2 on 表2.字段名=表1.字段名where 查询条件※体现联接条件时,一定要和from 后面的表的顺序相反语法:select...from 表1 inner join 表2 inner join 表3 on 表2.字段名=表3.字段名on 表1.字段名=表2.字段名三、SQL语句的操作功能1、插入记录:a.给表中全部字段赋值语法:insert into 表名values(字段值列表)例:给customer表中所有字段插入一条记录insert into customer values("S00000","张三","大开辽宁街","0411********")b.给表中部分字段赋值语法:insert into 表名(字段名列表) values(字段值列表)例:给customer表中客户号,客户名字段赋值insert into customer(客户号,客户名) values("H1000000","李四")※注意:字段值一定要与字段类型一致2、删除记录:a.逻辑删除表中全部记录,语法如下:语法::delete from 表名例:delete from order_listb.逻辑删除表中符合条件的记录语法:delete from 表名where 逻辑表达式例:delete from order_list where 总金额>50003、更新表中记录:a.更新表中全部记录的指定字段值语法:update 表名set 字段=值示例:update order_list set 总金额=总金额-6000b.更新表中符合条件记录的指定字段值语法:update 表名set 字段=值where 逻辑表达式示例:update order_list set 总金额=总金额-6000 where 客户号="14775"四、SQL语句的定义功能1:选项的含义primary key:说明主索引check:说明有效性规则error:说明出错提示信息default:说明默认值foreign key:说明普通索引foreign key ... tag ... references ... :说明表之间的联系ALTER TABLE 课程表ADD UNIQUE 课程号TAG temp例1:建立订货管理数据库CREATE DATABASE 订货管理例2:建立仓库wang表CREATE table 仓库表(仓库号c(5) PRIMARY KEY,城市c(10),面积i CHECK(面积>0) ERROR"面积应该大于0!")例3:建立职工wang表CREATE TABLE 职工(仓库号c(5),职工号c(5) PRIMARY ;KEY,工资i CHECK(工资>=1000 AND 工资<5000) ;ERROR "工资值的范围在1000-5000!" DEFAULT 1200, ;FOREIGN KEY 仓库号TAG 仓库号REFERENCES 仓库)例4:建立供应商表CREATE DBF 供应商(供应商号c(5) PRIMARY KEY, ;供应商名c(20),地址c(20))例5:建立订购单表CREATE TABLE 订购单wang(职工号c(5),供应商号c(5), ;订购单号c(5) PRIMARY KEY,订购日期d, ;FOREIGN KEY 职工号TAG 职工号REFERENCES 职工, ;FOREIGN KEY 供应商号TAG 供应商号REFERENCES 供应商)3、表结构的修改①命令功能1:修改字段的类型、宽度,定义主关键字和联系等;但是不能修改字段名,不能删除字段,也不能删除已经定义的规则等。

vf知识点及历年考题

vf知识点及历年考题

endfor
for i=10 to 1 step -1 ??a(i) endfor cancel
20、从键盘输入10个数,将他们 按照从大到小的顺序输出
分析:三步,
1.数组初始化,
2.用冒泡排序法从小到大排序, 3.数组输出
21.求3*4矩阵中元素的最大值和最小值
分析:先求出每行中的最小值,放于数组b中, 然后再求数组b中的最小值。 &&设要求的矩阵为a dime b(3) for i=1 to 3
enddo
cancel
Enddo
?s cancel
14. 显示100以内能被5整除的偶数或奇数 15. 求1/1!+1/3!+1/5!+.......+1/(2*n-1),的和, 其中当1/(2*n-1)<10-6是结束运算 Clear
S=0 i=1 do while .T. m=1 for j=1 to i m=m*j endfor m=1/m if m<10^(-6) exit endif s=s+m i=i+2 enddo ?s cancel
各种双重求和 Do while .T. 模板求和 判断素数以及素数之和和个数 掌握一种排序算法 掌握一种查找算法 变量和命令不区分大小写
二、关键字 keyword
VF关键字:在编程时,不能当做变量使用的字符符号
请回忆学过的关键字……
clear、cancel、return、store、dime/dimension/declare; not、and、or; input、accept 、to; if、 else、endif、case、endcase; do、while、enddo、for、endfor、next、step、loop、exit; 各种函数名称(int、sqrt、rand、pi、 len、substr、 str、 val); 各种命令的四个字母的缩写

vf基本知识点

vf基本知识点

一、数据类型:字符型(Character):引用字符型数据时必须加””(单引号也可以)日期型(Date)year\month逻辑型(Logical):只有两种:.T. 和 .F.数值型(Numeric)二、算术运算符:+-*/ (^乘方例如:6^2表示62)其优先级顺序:()、^、*/、+-三、关系运算符:<、<=、>、>=、=、<>四、逻辑运算符:NOT 非取反操作AND 与说明:两个条件必须同时满足才成立用and 连接OR 或说明:两个条件只要有满足就可以成立用or 连接优先级:not and or(非、与、或)五、语法规则命令的结构:由两部分组成(命令动词+短语)命令动词,也称关键字,它的词意指明了该命令的功能。

短语,通常用来对所要执行的命令进行某些限制性的说明总结:命令动词是用户用来表示要实现或完成的任务,动词短语提供执行命令所需的各种数据参数六、函数讲解:left(表达式,n) 从字符串表达式的左边取长度为n的子串right(表达式,n) 从字符串表达式的右边取长度为n的子串year(表达式) 取日期表达式的年份值month(表达式) 取日期表达式的月份值substr(表达式,n,m) 从字符串表达式中提取n开始的m个字符的子串,若省略m,则取n开始的所有字符str(表达式,n,m) 转换数值表达式为数字字符串,n是返回的字符串长度,m是返回的字符串中的小数位数val(表达式) 返回数字字符串对应的数值dtoc(表达式) 转换日期表达式为字符串ctod(表达式) 转换表达式为对应的日期值七、特别提示Insert、英文标点符号、空格、颜色粘贴命令行时注意物理删除例题讲解:设有数据表“pay”包含以下字段:工号(C)、姓名(C)、性别(C)、部门(C)、婚否(L)、工作日期(D)、工资(N)、补贴(N)、公积金(N),应发工资(N)。

一、列表显示(列出符合条件的所有数据的相应字段):list 列表fields 指定字段格式:(1)列出某字段:list [fields] 字段名1,字段名2,字段……for 条件(2)列出所有字段信息:list for 条件(1)列出部门为“办公室”和“研发部”的所有男性职工的信息。

VF知识点

VF知识点

2010.31.算法的时间复杂度是指算法在执行过程中的基本运算次数.2.属于系统软件的是操作系统.3.软件调试过程中的任务是诊断和改正程序过程中的过程.4.数据流程图是结构化方法的需求分析工具.5.数据库管理系统中负责模式定义的语言是数据定义语言.6.在学生管理数据库中存取一个学生的数据单是记录.7.数据库中用E-R图来描述信息结构但不涉及信息在计算机中表示他属于数据库设计的设计阶段。

8.VF中编译后的程序文件扩展名是FXP。

9.修改表结构使用命令MODISTRU。

10.为当前学生总分加10分命令REPLACEALL总分with总分加1011视图物理上不包含数据。

12对于关系列的次序无关紧要。

13,报表数据源可以是表.视图.查询。

14表单中指定数据源的属性是recordsource15在报表中打印当前时间应插入域控件16可根据数据库表和自由表建立查询。

17sql中更新命令关键词是update18查询读者表所以记录并存储与临时表文件one中sql语句为;select*from读者intocursorone19.软件是程序数据文档的集合20.为表建立索引候选索引可保证数据实体完整性2010.91.线性表的链式存储结构所需的存储空间一般要多于顺序存储结构2.在栈中。

栈顶指针不变栈中元素随栈顶指针变动而动态变化3.软件测试目的是发现程序中的错误4.软件过程不规范不属于软件危机表现5.软件产品生命周期是指软件产品从提出发现使用到停止使用退出过程6.面向对象方法中继承是指类之间共享属性和操作机制7.层次网状关系型数据是数据间联系方式8数据库设计中反应用户对数据要求的设计是外模式9.vf中将日期型或日期时间型数据中年份用4位数字表示为setcenturyon10int取整round四舍五入floor小于括号值最大整数ceiling大于括号值最小整数11在表设计器中设置索引包含在结构复合索引文件中(扩展名cdx)12删除视图dropview13列表框可设置多重选择而组合框不能14vf中属于命令按钮属性的是parent.this-相对引用。

VF知识点归纳

VF知识点归纳

VF知识点归纳按照新⼤纲,需要学习的内容有:数据库系统与VF基础知识、数据库基本操作、结构化查询语⾔SQL、VF程序设计、设计器和项⽬管理器使⽤等。

第⼀章.数据库基础知识1.数据库(DB)、数据库管理系统(DBMS)、数据库应⽤系统、数据库系统(分为硬件系统、操作系统、数据库管理系统、数据库集合、数据库应⽤系统和数据库管理员和⽤户)2.实体:客观存在并可以相互区别的事物。

可以是物体也可以是事件。

属性:实体的特征。

其具体值称为属性值。

实体型:属性的集合。

实体集:同类型实体集合。

(VF中⽤“表”来存放同⼀类实体,即实体集。

)3.实体间联系:⼀对⼀、⼀对多、多对多4.数据模型:层次模型(树形结构表⽰实体及其之间联系)⽹状模型(⽹状结构表⽰……)关系模型(⼆维表结构表⽰……)(VF属于关系模型)5.关键字:属性或属性的组合,其值能唯⼀标识⼀个元组。

外部关键字:不是本表主关键字或候选关键字,⽽是另⼀个表的主关键字或候选关键字。

域:数据的取值范围。

6.表中不能再包含表。

不允许⼀个表中有相同的字段名。

不允许有完全相同的元组。

关系中⾏、列顺序⽆关紧要。

7.关系运算:选择运算(横向抽取)投影运算(纵向抽取)链接运算(两个关系若⼲属性拼接成⼀个新的关系)8.关系完整性:实体完整性:主关键字不能取空值,不同记录主关键字不能相同参照完整性⽤户定义完整性(域完整性)第⼆章.VF系统概述1.当前操作对象不同,横向主菜单和下拉菜单选项也不同。

(上下⽂敏感)2.光标移⾄所在⾏任何位置回车即可。

(已执⾏第⼆次执⾏的命令)3.显⽰命令窗⼝:Ctrl+F2隐藏命令窗⼝:Ctrl+F4或者通过“窗⼝”菜单4.右下⾓三个格⼦:为空表⽰插⼊⽅式/显⽰OVR表⽰改写⽅式,Insert键控制⼩键区数字是否可⽤,有Num为可⽤,NumLock键控制字母⼤⼩写,为空表⽰⼩写,CapsLock键控制5.设置默认⽬录:“⼯具”-“选项”……set default to 盘符盘符⽰例:E:\MyVfFile6.时间显⽰格式默认为:⽉⽇年可在“选项”-“区域”中设置显⽰⽅式7.VF系统设置修改:临时:在内存中(关闭VF后再次开启时⼜恢复成设置前的设置)永久:windows注册表中(当前设置永久有效)设置完单击“设置为默认值”8.“窗⼝”-“数据⼯作期”/⼯具栏中的“数据⼯作期”9.程序是由若⼲条命令或语句有序组成的,不当即执⾏。

VF知识点总结(考试必备)

VF知识点总结(考试必备)

VF知识点总结(考试必备)一、有效性规则和参照完整性1.有效性规则先选中要求设置的字段,(1)“规则”:逻辑型表达式即SQL格式表达式。

例:年龄是15-20:年龄>=15 and 年龄<=20(2)“信息”:字符型表达式,直接摘抄加“”(英文状态)(3)“默认值”:看选中的字段是什么类型2.参照完整性(1)判断一方(没有重复字段的表)和多方(有重复字段的表)(2)一方建主索引,多方建普通索引(3)由一方向多方扯一条线(4)清理数据库(数据库—清理数据库,如果遇到“文件正在使用暂不能发布pack命令,”此时close all,再重新以独占方式打开数据库再进行一次清理)(5)右键编辑参照完整性(两个永久性联系须一一设置其参照完整性)二、SQL语句1.格式:格式一:Select [top]字段1/字段2……from 表1,表2…. where 连接条件and(or) 筛选条件{group by 某一字段[haing count(字段)] } order by 字段1 asc/desc, 字段2 asc/desc……into table 表格式二:Select [top]字段1/字段2……from 表1 join表2 join 表3…. on 连接条件(返回来写) where 筛选条件{group by 某一字段[haing count(字段)] } order by 字段 1 asc/desc, 字段 2 asc/desc……into table 表⑪.“字段1/字段2……”,根据题目要求,搜索什么字段写什么字段,若其中某一字段在表中没有则认定为是起的新名字,在该字段前加as,之后向函数avg(),sum(),max(),min(),count()。

⑫.“group by 某一字段[haing count(字段)]”为难点。

考虑用不用group by,首先在草稿纸上或脑海生成题目要求的表,选取一个个例填写分析是否用得到group by,按什么分组。

VFP重点知识点

VFP重点知识点

第1章数据库系统基础1.数据管理的三个阶段2.DBS组成3.DBMS的4个功能4.数据模型第2章VFP概述1.常见的文件类型及其扩展名2.两类表:自由表和数据库表3.创建项目:CREA PROJ第3章VFP的数据元素1.常量2.变量:字段~、内存~、数组~、系统~3.表达式:字符~、日期~、关系~、逻辑~4.常用函数MOD MAX/MIN&UPPERLOWERAT SPACE SUBSTR LEFTRIGHTLEN STUFF STR VALIIFRECNO BOFEOF第4章表的操作与维护CREA APPEUSE MODI STRU指针定位:GO/GOTO/SKIP LIST/DISPINSERT [BEFORE][BLANK]REPLACEDELE‐PACK COPY TO与COPY STRU TO CLOSE ALL第5章数据排序、检索、统计、多表操作1.建立索引的目的2.单索引INDEX ON 表达式TO 索引文件名USE 表名INDEX 索引文件名[SET INDEX TO ~] 3. 复合索引INDEX ON 表达式TAG 标记SET ORDER TO |TAG4. 查找LOCATE..CONTINUE/ FIND/SEEK5.统计COUNT/SUM/AVER/CALC6. 多表操作工作区的概念第6章数据库基本操作与视图1.CREA/MODI/OPEN DATABASE <DB名>2.临时关系/永久关系3. 视图联接(内、左、右、完全)4. 远程视图与本地视图第8章程序设计基础1.MODI COMM ‐‐DO2.输入/输出命令:@/ INPUT/ WAIT3. 简单的语句:IF/DO WHILE/ FOR/ SCAN4. 子程序调用5.例题12/17/21/24; 习题8的第2题(均可以作为参考)第9章面向对象的程序设计1.对象引用方式THISTHISFORMTHISFORMSET2.VFP基类可以分为容器类和控件类第10章表单1.CREA/MOFI/DO FORM **2. 常见的控件①标签②命令按钮③单选按钮组④复选框⑤文本框⑥组合框⑦表格⑧计时器3.基本的语句,例如:THISFORM.RELEASE第12章菜单1.CREA/MODI/MENU ** ‐‐DO **.MPR2. 菜单设计步骤(生成)3.SET SYSMANU TO DEFA第13章应用系统开发和集成几个常用命令的含义与使用,例如:SET TALK ON/OFFSET SAFETY ON/OFFSET CENTURY ON/OFFSET DELE ON/OFF ……第7章SQL1.SQL与传统VFP的区别2.SELE命令SELE… FORM … WHERE (IN/LIKE/BETWEEN ‐AND)SELE… FORM X1,X2 WHERE X1.~=X2.~SELE … FROM X1 INNER JOIN X2 ON …SELE … FROM X1 INTO CURSOR X23. INSERT INTO X(字段名) VALUE …4. UPDATE X SET … WHERE …5.DELE FROM X WHERE …试卷可能的题型:1.选择题30分20302.判断题10分103. 填空题20分20204. 程序填空题20分20205.编程题20分3030。

VF知识点

VF知识点

第一章 Visual FoxPro 数据库基础Visual FoxPro 是计算机优秀的数据管理系统软件之一。

1.1数据库基础知识1.1.1计算机数据管理的发展1.数据与数据处理①数据是存储在某一种媒体上能够识别的物理符号。

被计算机存储和反应客观事物的符号。

存储在某一种媒体上能够被识别的符号。

描述事物的符号。

②数据处理是指将数据转换成信息的过程。

2.计算机数据管理数据管理经历了①人工和管理阶段②文件管理阶段③数据库管理阶段1.1.2数据库系统1.数据库①数据库:有组织,可共享的相关数据的集合数据库(DB Date Base)是存储在计算机存储设备上的结构化的相关数据集合。

数据库管理系统(DBMS Date Base Management System)2.数据库系统的特点数据路系统(DBS)是有五部分组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。

其中数据库管理系统是数据库系统的核心。

DBS>DBMS>DB (DBS包含DBMS,DBMS包含DB)1.1.3数据模型1.实体的描述①实体:客观存在并且可以相互区别的事物称为实体。

②实体的属性:描述实体的特征称为属性。

③实体集和实体型:属性值的集合表示一个具体的实体,而属性的集合表示一个实体的类型,称为实体型(汗血宝马)。

同类型的实体集合称为实体集(马)2.实体间联系及联系的种类①一对一联系(唯一性)如:身份证和人②一对多联系(不可逆性)如:母亲和孩子,皇帝和臣子③多对多联系(胡逆性,可逆性)3.数据模型简介①层次数据模型(已淘汰)②网状模型(已淘汰)③关系数据模型:关系数据模型是以关系数学理论为基础的。

用二维表结构来表示实体以及实体之间联系的模型称为关系模型。

一张二维表就是一个关系,一个关系就是一张二维表。

1.2关系数据库1.2.1关系模型1.关系术语①关系:一个关系就是一张二维表,每个关系有一个关系名。

文件拓展名为.dbf 每个表都要有一个表名,表名的本质代表实体集,一个表存储为一个文件。

VF各章知识点汇总

VF各章知识点汇总

第一章数据库基础理论一、信息、数据和数据处理信息是有用的数据;数据是信息的表现形式,数据是信息的载体二、数据模型有三种:层次模型、网状模型、关系模型Visual FoxPro 6.0是关系型数据模型三、关系模型关系其实就是一张二维表,由字段、记录,和数据项组成,表中的每一行称为记录或元组,表中每一列称为字段或属性,表中每一项称为数据项或分量。

四、数据库:是数据库系统的核心和管理对象五、数据库系统由四部组成:硬件系统、系统软件(操作系统、数据库管理系统)、数据库应用系统和各类人员三级模式:外模式、概念模式和内模式六、数据库管理系统(DBMS):由三部分组成:数据描述语言DDL、数据操纵语言DML、数据库管理例行程序。

二、关系数据库1、一个关系数据库由若干个数据表组成,数据表由若干个记录组成,而每一个记录是由若干个以字段属性加以分类的数据项组成。

(即数据项→记录→数据表)2、表间关联关系的类型:一对一关系、一对多关系、多对一关系3、关系完整性:是指关系中的数据及具有关联关系的数据间必须遵循的制约和依存关系,保证数据的正确性、有效性和相容性关系的完整性包括:域完整性、实体完整性、参照完整性。

其中域完整性是指:包括字段的值、类型、有效规则实体完整性是指:对关系中的记录值是唯一的。

参照完整性是指:在数据库设计时要进行参照完整性。

建立关联表间数据的参照性。

4、关系运算:选择运算:是指从关系中选择某些满足条件的记录组成的一个关系投影运算:是指从关系中选择某些字段值组成的一个关系连接运算:是将两个或多个关系通过连接条件组成一个新的关系第三章基础知识一、数据类型:(其中所提到的字符个数,一个汉字用两个字符来表示,所有的标点符号应在英文状态下输入) 有六种基本数据类型:1、字符型:由“”、‘’和[]三种作为字符型数据的定界符。

且数据长度不能超过254个字符2、数值型:包括数值型、浮点型、货币型、双精度型、整型其中数值型是最常用的数据类型,是由数字(0~9)、小数点和正负号组成,最大长度不能超过20个字符 (包括十、—号和小数点)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、数据类型:字符型(Character):引用字符型数据时必须加””(单引号也可以)日期型(Date)year\month逻辑型(Logical):只有两种:.T. 和 .F.数值型(Numeric)二、算术运算符:+-*/ (^乘方例如:6^2表示62)其优先级顺序:()、^、*/、+-三、关系运算符:<、<=、>、>=、=、<>四、逻辑运算符:NOT 非 取反操作AND 与 说明:两个条件必须同时满足才成立用and 连接OR 或 说明:两个条件只要有满足就可以成立用or 连接优先级:not and or(非、与、或)五、语法规则命令的结构:由两部分组成(命令动词+短语)命令动词,也称关键字,它的词意指明了该命令的功能。

短语,通常用来对所要执行的命令进行某些限制性的说明总结:命令动词是用户用来表示要实现或完成的任务,动词短语提供执行命令所需的各种数据参数六、函数讲解:left(表达式,n) 从字符串表达式的左边取长度为n的子串right(表达式,n) 从字符串表达式的右边取长度为n的子串year(表达式) 取日期表达式的年份值month(表达式) 取日期表达式的月份值substr(表达式,n,m) 从字符串表达式中提取n开始的m个字符的子串,若省略m,则取n开始的所有字符str(表达式,n,m) 转换数值表达式为数字字符串,n是返回的字符串长度,m是返回的字符串中的小数位数val(表达式) 返回数字字符串对应的数值dtoc(表达式) 转换日期表达式为字符串ctod(表达式) 转换表达式为对应的日期值七、特别提示Insert、英文标点符号、空格、颜色 粘贴命令行时注意物理删除例题讲解:设有数据表“pay”包含以下字段:工号(C)、姓名(C)、性别(C)、部门(C)、婚否(L)、工作日期(D)、工资(N)、补贴(N)、公积金(N),应发工资(N)。

一、列表显示(列出符合条件的所有数据的相应字段):list 列表 fields 指定字段格式:(1)列出某字段:list [fields] 字段名1,字段名2,字段…… for 条件(2)列出所有字段信息: list for 条件(1)列出部门为“办公室”和“研发部”的所有男性职工的信息。

list for (部门="办公室" or 部门="研发部") and 性别="男"(2)列出工资小2000元的女性职工的工号、姓名、性别、部门和工资。

list fields 工号,姓名,性别,部门,工资 for 工资<2000 and 性别=”女”(3)列出工号前2位等于“02”的女性职工的信息。

list for left(工号,2)=”02” and 性别=”女”(4)列出所有未婚女性职工的部门、姓名、婚否和工资。

list fields 部门,姓名,婚否,工资 for not 婚否 and 性别="女"(5)列出工资大于1800元的男性职工的工号、姓名、性别、部门和工资。

list fields 工号,姓名,性别,部门,工资 for 工资>1800 and 性别="男"(6)列出工号前2位等于“01”的男性职工的信息。

list for left(工号,2)="01" and 性别="男"(7)列出部门为“研发部”的男性职工的工号,姓名,性别和部门。

list fields 工号,姓名,性别,部门 for 部门="研发部" and 性别="男"(8)列出部门为“财务科”的女性职工的工号,姓名,性别和部门。

list fields 工号,姓名,性别,部门 for 部门="财务科" and 性别="女"(9)列出所有未婚女性职工的部门、姓名、婚否和工资。

list 部门,姓名,婚否,工资 for not 婚否 and 性别="女"(10)列出至今未过生日的名单list for month(出生日期)>month(date()) or (month(出生日期)=month(date()) and day(出生日期)>day(date()))(11)显示所有本年度已经过完生日(不含当日)的人员信息list for month(出生年月)<month(date()) or (month(出生年月)=month(date()) and day(出生年月)<day(date()))(12) 显示30岁(含30岁)以下人员的所有信息List for year(date())-year(出生年月) <=30二、批替换(替换符合条件的数据相应字段的值):replace批替换格式:REPLACE 被修改的字段名称WITH 新字段值 FOR 条件1) 为6月份参加工作的职工每人增加38元补贴。

replace 补贴 with 补贴+38 for month(工作日期)=062) 将工号前4位是“0102”的职工所属部门改为“秘书科”。

replace 部门 with "秘书科" for left(工号,4)="0102"3) 为部门是“财务科”的职工每人增加12%的补贴(补贴=补贴*1.12)。

replace 补贴 with 补贴*1.12 for部门="财务科"4) 计算并替换每一条记录中的“公积金”字段(公积金=工资*0.05)。

replace all公积金 with 工资*0.055) 将工号前4位是“0202”的职工所属部门改为“出纳科”。

Replace all 部门 with "出纳科" for left(工号,4)="0202"6) 为部门是“研发部”的职工每人增加25%的补贴(补贴=补贴*1.25)。

replace 补贴 with 补贴*1.25 for 部门="研发部"7) 为8月份参加工作的职工每人增加55元补贴。

replace 补贴 with 补贴+55 for month(工作日期)=088) 在“工资”字段中,为2000年以前(不含2000年)参加工作的职工每人增加270元。

replace 工资 with 工资+270 for year(工作日期)<20009) 计算并替换每一条记录中的“应发工资”字段(应发工资=工资+补贴-公积金)。

replace all 应发工资 with 工资+补贴-公积金10) 在“工资”字段中,为2000年以后(含2000年)参加工作的职工每人增加150.50元。

replace 工资 with 工资+150.50 for year(工作日期)<=2000三、统计记录数(求符合相应条件的数据个数,并将结果赋给某个变量):count格式: count for 条件to 变量名注:在VFP数据库程序中,所有计算结果必须赋值给一个变量1) 统计男性职工中工资超过2000元的人数,并将结果赋给变量A55(或者新字段A55)。

count for 性别="男" and 工资>2000 to A552) 统计女性职工中工资不超过1800元的人数,并将结果赋给变量A56(或者新字段A56)。

count for 性别="女" and 工资<=1800 to A56四、删除:delete逻辑删除格式:delete all for 条件1)要求逻辑删除8月份出生的或经济管理专业的学生记录。

delete all for month(出生日期)=08 or 专业="经济管理物理删除格式:delete all for 条件pack1)要求物理删除1990年以前(不含1990年)参加工作的部门为“办公室”的职工记录。

delete all for year(工作日期)<1990 and 部门="办公室"pack2)要求物理删除部门为“研发部”的所有女性职工的记录。

delete all for 部门="研发部" and 性别="女"pack3)要求物理删除部门为“财务科”的所有男性职工的记录。

delete all for 部门="财务科" and 性别="男"pack五、最大(小)值(求在某个字段的最大值或最小值,并赋值给变量):calc ulate max 或 calc min格式:calculate max(字段名)for 条件to 变量名calculate min(字段名)for 条件to 变量名1) 统计男性职工中补贴一项的最高值,并将结果赋给变量A57(或者新字段A57)。

calculate max(补贴) for 性别=”男” to A572) 统计女性职工中补贴一项的最低值,并将结果赋给变量A58(或者新字段A58)。

calculate min(补贴) for 性别='女' to A583) 显示公积金的最小值和最大值,并将结果分别赋给变量mingjj、maxgjj.calculate max(公积金),min(公积金) to mingjj,maxgjj六、求和、平均数(求满足条件的记录字段的值,并将值赋给变量):sum、average格式:sum 字段名for 条件to 变量名average 字段名for 条件to 变量名1) 统计男性已婚职工的工资字段总和,并将结果赋给变量A52(或者新字段A52)。

sum 工资 for 性别="男" and 婚否 to A522) 统计“研发部”和“办公室”这两个部门职工的工资总和、补贴总和,并将结果赋给变量A5101、A5102(或者新字段A5101、A5102)。

sum 工资, 补贴 for 部门='研发部' or 部门='办公室' to A5101, A51023) 统计“财务科”和“办公室”这两个部门职工的平均工资和平均补贴,并将结果赋给变量A591和A592(或者新字段A591和A592)。

average 工资, 补贴for 部门=”财务科”or 部门=”办公室” to A591, A5924) 统计部门为“财务科”的女性职工的工资字段总和,并将结果赋给变量A51(或者新字段A51)。

sum 工资 for 部门=”财务科” and 婚否 to A515) 统计部门为“研发部”的女性职工的工资字段平均值,并将结果赋给变量A53(或者新字段A53)。

相关文档
最新文档