vf程序设计基础教程知识点总结
vf知识点

一、分值基本分布情况表二、可能涉及到的考试题型1.选择题(单项选择、多项选择)。
2.填空题。
3.判断题。
4.程序题(阅读程序并补充程序中缺少的部分、阅读程序写出程序结果、编写程序代码)。
三、建议1.老师们可根据以下知识点进行复习。
2.老师们可根据以下知识点对习题册、课后题等进行有针对性地讲解和分析。
3.老师们可提前3周左右(也可根据自己实际教学情况)提前进入复习状态。
四、VF知识点第一章基础知识1.数据与信息的概念。
2.数据、表、数据库、数据库管理系统、数据库系统。
3.关系模型的基本概念:★关系、元组、属性、域、关键字候、选关键字、主关键字、外部关键字。
★关系模式关系名(属性名1,属性名2,…,属性名n)★关系的基本特点。
4.关系运算选择、投影、联接。
第二章操作基础(5分)1.对三种界限符的理解和使用([]、<>、|)。
2.命令中常用的短语★ FIELDS子句★范围子句★条件子句3.命令书写规则。
第三章数据及运算1.常量与变量。
2.常用函数:ASB()、SQRT()、INT()、CEILING()、FLOOR()、MOD()、ROUND()、MAX()、MIN()、宏代换函数、LEN()、AT()、LEFT()、RIGHT()、SUBSTR()、LTRIM()、SPACE()、LOWER()、UPPER()、DATE()、TIME()、YEAR()、MONTH()、DAY()、CTOD()、DTOC()、STR()、VAL()、VARTYPE()、BOF()、EOF()、RECNO()、IIF()、FOUND()。
3.字符运算连接运算(完全连接和不完全连接),包含运算。
4.常用的数据类型。
(如字符型、数值型、日期型、备注型、逻辑性等)第四章表的基本操作1.设计表结构重点理解字段名、字段类型、字段宽度、是否允许为空等概念。
2.常用操作命令★表的建立(creat)★表的打开与关闭(use)★表记录的显示★表结构和显示与修改★浏览窗口的使用★成批替换命令(replace)★表记录指针的定位(go、skip、locate)★表记录的增加与删除(insert、append、delete)★表的复制(copy)★从其他文件向表添加数据(append from)★表与数组间的数据传递★表的排序与索引(sort to on 、index on to)★表的统计与计算(count、sum、average、calculate、total)3.多工作区工作区的概念、工作区的选择、表的关联与联接。
VF知识点总结-参照完整性]
![VF知识点总结-参照完整性]](https://img.taocdn.com/s3/m/ee3e5bf74693daef5ef73d9d.png)
VF知识点总结--必备(2010-05-20 23:17:40)一、有效性规则和参照完整性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知识点总结

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,按什么分组。
vf基础知识部分

第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。
详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。
计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法。
1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。
2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。
在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。
(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构。
描述算法的工具通常有传统流程图、N-S结构化流程图、算法描述语言等。
一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。
考点2算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。
1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。
这表明使用绝对的时间单位衡量算法的效率是不合适的。
撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量"的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。
VF第7部分(数据库基础知识)

第七讲 数据库与数据表
本讲要点
信息、数据和数据处理 数据模型 数据库应用系统 数据库管理系统
一、信息、数据和数据处理
1.信息与数据
信息(information)是客观事物属性的反映。它所 表现的是关于某一客观系统中某一事物的某一方面属性或 某一时刻的表现形式。
数据 (data) 是反映客观事物属性的记录,是信息的 载体。对客观事物属性的记录是用一定的符号来表达的, 因此说数据是信息的具体表现形式。
(4)实体集:具有 相同属性的实体的集 合。 (5)实体型:表现 实体的属性的集合。
实体集-------表 实体------记录 属性------字段 实体型-----表的结构
数据表
编号 姓名 性别 婚否 出生日期 职称 基本工资 简历
21001 张丽丽 女 21002 柳谢谢 男 21003 周太蕃 男 21004 李道 男 21005 王盈侠 女
数据抽象过程通常经过两步:现实世界 到概念世界,再到机器世界。因此,数据 模型分为两个层次:概念模型和结构数据 模型(一般简称为数据模型)。
概念模型也称为信息模型,主要用于数 据库设计。
结构数据模型包括层次模型、网状模型、 关系模型等,主要用于DBMS的实现。
1.概念模型
(1)实体
(2)属性
(3)属性域:属性 在VFP中: 的取值范围。
网状模型是以记录为结点的网络结构。
R1 R4
R1
R2 R5 R2 R5
R3
R4
R2 R2 R3 R5
R3
网状模型的示例图
其主要特征如下: 特征1:有一个以上的结
点无父节点。 特征2:至少有一个结点
VF知识点总结

VF知识点总结概念知识点总结1、数据库的基本理论和VF 数据库操作2、数据与程序设计3、SQL 语句4、⾯向对象程序设计及表单、报表、菜单数据库的基本理论和VF 数据库操作(第1、2、3、4、6章)⼀、数据库系统基本理论1、理解数据库系统的⼏个基本概念以及它们的关系数据库(DB )、数据库管理系统(DBMS )、数据库应⽤系统(DBAS )和数据库系统(DBS )2、掌握实体之间的联系,可以判断出实际问题中属于那种联系⼀对⼀、⼀对多、多对多3、弄清三⼤数据模型的结构形式:层次模型、⽹状模型和关系模型我们现在所⽤到的数据库都是关系数据库(a )(b )(c )4、理解关系术语关系(就是⼆维表,记录的集合);元组(⾏、记录);属性(列、字段);域(⼀个字段的取值范围);关键字(关键的字段,唯⼀能标志⼀个元组的字段或字段的组合);外部关键字(不是本表的关键字,但是是其他表的关键字;⽤来建⽴表间的联系)5、关系运算理解传统的集合运算(并、交、差、笛卡尔积)和专门的关系运算(选择、投影、连接包括等值连接和⾃然连接)⼆、数据表操作1、了解表操作的⼀些命令,尤其以下⼏条:LIST显⽰记录:LIST | DISPLAY [FIELDS <字段名表>][<范围>] [FOR<条件表达式>]限定条件⽤FOR短语LOCATE条件定位:LOCATE FOR<条件表达式>本命令定位在满⾜条件的第⼀条记录,若想定为满⾜条件的下⼀条记录,必须⽤CONTINUE⽤FOUND()函数为T判断是否有满⾜条件的记录(也可⽤EOF()为F)APPEND为追加记录;INSERT为插⼊记录REPLACE修改记录:REPLACE <字段名1> WITH <表达式1> [FOR <条件表达式>]2、删除操作分两步⾛:DELETE与PACKDELETE是逻辑删除,也就是添加删除标记,PACK才是真正物理删除;逻辑删除的记录还可以恢复(RECALL)3、理解⼯作区的概念系统提供了32767个⼯作区,可以在不同的⼯作区同时打开多个表,使⽤⼯作区⽤其编号1~32767,或者别名,前⼗个⼯作区有别名:A~JSELECT 0表⽰使⽤最⼩未⽤过的⼯作区4、建⽴表之间的临时关联⼀个为主表,⼀个为⼦表,使⽤SET RELATION TO …INTO…语句要求两个表必须在不同的⼯作区打开可以使⽤SET RELATION TO解除关联三、数据库操作1、理解数据库⽂件它并不真正的存储数据,只是对存储数据的⽂件进⾏统⼀的管理建⽴数据库后,形成三个同名⽂件.dbc .dct .dcx2、理解⾃由表与数据库表的区别与联系区别:可以看⼀下“表设计器”⾃由表不能设置长表名、长字段名、标题、输⼊掩码、字段有效性规则、默认值、注释等内容⾃由表不能设置主索引⾃由表可以添加到数据库中形成数据库表(ADD TABLE…);数据库表可以移出形成⾃由表,相应的设置丢失,主索引变为候选索引(REMOVE TABLE…)3、掌握索引的概念索引就是排序,但它是逻辑排序,排列的不是实际记录,⽽是记录指针,排序的结果存放在索引⽂件中建⽴索引的主要⽬的是为了提⾼查询速度(在有序的集合中查询某个个体很显然⽐⽆序中查询快得多)A、建⽴索引可以通过命令实现:INDEX ON <索引关键字表达式> TO <独⽴索引⽂件名> | TAG <标识名> [ASCE | DESC] [UNIQUE] [CANDICATE]可以建普通索引(命令中不需表⽰)、候选索引(CANDICATE)、唯⼀索引(UNIQUE)B、可以以在表设计器中建⽴索引索引不是真正排序,表的排序命令为SORT,是对记录的排序,结果形成新的表⽂件.dbf 4、区别索引⽂件的类型索引⽂件分为独⽴索引⽂件(.idx 存放⼀条索引结果)和复合索引⽂件(.cdx 存放多条索引结果)复合索引⽂件⼜分为结构复合索引⽂件(与表同名)和⾮结构复合索引⽂件结构复合索引⽂件因其与表同名,随着表的打开⽽打开,表的关闭⽽关闭,在表被修改时⾃动同步修改,现在是主要应⽤的索引⽂件5、区别索引的类型主索引和候选索引意义相似,建⽴主索引和候选索引都要求关键字表达式的值唯⼀,没有重复。
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的基础知识)

3、al FoxPro的启动步骤:
首先显示版权界面 然后显示欢迎界面。 进入VFP环境。
21
Visual FoxPro程序设计
3、VFP的主窗口
②VFP的退出 退出Visual FoxPro环境有多种方法: 一般方法同microsoft产品,如word 在“命令”窗口,输入命令QUIT, 并按回车
实例演示
10
Visual FoxPro程序设计
课 程
课程名称:
介
绍
Visual FoxPro 程序设计
主讲教材: Visual Foxpro程序设计教程(湖南师范大学出版社) 参考教材: Visual Foxpro程序设计教程(刘瑞新 主编电子工业出
版社 )
11
Visual FoxPro程序设计
考核方式
期末参加统考。 考试形式:笔试。 最终成绩=平时成绩 ×20%+期末成绩 ×80%。 可参加全国计算机二级Visual FoxPro考 试。考试由笔试和上机操作两部分组成。
4 Visual FoxPro程序设计
横向比较
计算机专业:C语言程序设计 管理类:VFP程序设计 其他专业(艺术类除外):VB程序设 计
学完本门课程可以参加全国计算机二级Visual Foxpro 考试。考试由笔试和上机操作两部分组成。 本门课程还是学习《数据库技术》三级课程的基础。 能够完成一些小型的信息管理系统的开发
实例演示
13
Visual FoxPro程序设计
同学们觉得VFP难学的原因
自身原因(70%) 上课不认真听讲,表现有睡觉、聊天、玩手机 等 下课根本不看书 上机前不做预习,上机时不做实验,表现有上 网、利用画图画画。 课程原因 课程本身内容比较多,对于大一学生理解有难 度 其它原因
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
vf程序设计基础教程知识点总结
VF基础知识点总结
第一章数据库基础知识
1.基本概念:数据库、数据管理经历的五个阶段、数据库管理系统、数据库应用系统、数据库管理员。
2.数据库系统的组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。
其中数据库管理系统是数据库系统的核心。
3.数据库系统的特点:(1)实现数据共享,减少数据冗余(2)采用特定的数据模型(3)具有较高的数据独立性(4)有统一的数据控制功能
4.数据模型:实体间联系的种类:一对一、一对多、多对多。
5.数据模型的三种类型:层次模型、网状模型和关系模型。
6.关系数据库基本术语:关系、元组、属性、域、关键字、外部关键字。
关系的特点
7.关系运算:传统的集合运算(并、差、交)另一类是专门的关系运算(选择、投影、连接、等值连接、自然连接)
8.VF两种运行方式:菜单方式和交互式方式(命令方式和程序方式)
9.所谓项目是指文件、数据、文档和对象的集合,其扩展名为 .pjx。
10.项目管理器包含的选项卡:全部、数据、文档、类、代码、其他
11.项目管理器各选项卡所包含的文件有哪些?
12.项目管理器可以完成对文件的新建、添加、移去、删除,但不包含重命名。
第二章常量、字符
1.常量的种类:数值型、字符型、日期型、日期时间型和逻辑型
在书写字符型、日期型、日期时间型和逻辑型需要加定界符
2.变量是值能够随时改变的量。
变量名的命名规则:以字母、汉字和下划线开头,后接字母、数字、汉字和下划线构成,不包含有空格
3.当内存变量与字段变量同名时,要访问内存变量需加前缀M.(或M-),例如M.姓名
4.数组定义的格式 DIMENSION 数组名()、
创建数组后,系统自动给每个数组元素赋以逻辑假.F.
5.表达式的类型:数值表达式、字符表达式、日期时间表达式和逻辑表达式。
每个表达式的运算规则与结果。
6.运算符 $ 称为子串包含测试,格式字符表达式1 $ 字符表达式2
7.SET EXACT ON │OFF 的区别与含义。
8.逻辑型运算符有三个:NOT 、AND、OR,其优先级顺序为NOT、AND、OR
9.常用函数数值函数、字符处理函数、日期类函数、数据类型转换函数、测试函数
10.常用函数:LEN()、SPACE()、LEFT()、RIGHT()SUBSTR()、AT()、DATE()、TIME()、YEAR()、STR()、
VAL()、CTOD()、宏替换函数:字符型变量、EOF()、BOF()、IIF()
11.程序文件的建立和修改命令:MODIFY COMMAND 程序名
12.程序的基本结构:顺序结构、选择结构、循环结构。
13.选择结构包括条件语句(IF—ELSE--ENDIF)和分支语句(DO CASE
--ENDCASE)、
14.IF----ENDIF必须成对出现,在do case 结构中不管有几个CASE条件成立,只有最先成立的那个CASE条件的对应命令序列被执行
15.循环结构包括:DOWHILE---ENDDO FOR---ENDFOR SCAN---ENDSCAN(其中dowhile –enddo语句的执行流程必须掌握)
16.循环结构中出现的loop和exit语句的含义:
循环体中包含LOOP,则返回条件处重新判断,包含EXIT,则直接跳出循环
17.多模块程序的执行过程,要求能读懂就可以。
18.多模块执行中的参数传递问题:参数传递的格式:
格式一、DO 过程名 WITH 实参
格式二、DO (实参)
19.变量的作用域:全局变量,私有变量,局部变量
20.全局变量的定义:UBLIC 变量名在任何模块中都可以使用
21.局部变量的定义:LOCAL 变量名只能在建立它的模块中使用
22.私有变量,可以在建立它的模块以及下属模块中使用
23.PRIVATE 变量名隐藏变量(定义私有变量),可以在下属模块中使用,但不改变上层模块的值
第三章数据库和表
1.建立表的命令 create 表名
2.表设计器中应设置的内容:字段名,字段类型,宽度,小数位数,NULL。
3.打开表 use 表名关闭表 use
4.修改表结构与表记录的方法。
修改表结构:modify structure 追加记录 append 和insert ]
修改记录 replace 字段名 with 字段值 for 条件
删除记录:逻辑删除 delete 物理删除 pack 记录清空 zap
定位记录指针: go skip locate for 条件
5.数据库的概念其扩展名:.DOC
6.数据库的建立(CREATE DATABASE 数据库名)、数据库的打开(OPEN DATABASE 数据库名)
修改数据库(MODIFY DATABASE 数据库名)关闭数据库(close database)
7.在数据库中新建表,添加表,移去表,浏览表(要求会操作就行)
8.自由表与数据库表的区别:(1)自由表字段名最长10个字符,数据库表最长128个字符(2)表设计器不同,自由表不涉及规则,信息,默认值
9.索引的概念:在逻辑上对表中记录按照某个字段进行排序,不改变表的物理顺序
10.索引的作用:加速对表的查询速度,降低对表的插入和更新操作
11.索引的种类:主索引,候选索引,唯一索引,普通索引
12.索引的建立(1)在表设计器中建立(2)命令方式建立
13.使用命令方式不能建立主索引
14.数据完整性的种类:包括实体完整性,域完整性和参照完整性
15.实体完整性是保证表中记录唯一的特性,即在表通过主索引和候选索引保证
16.域完整性包含:规则(逻辑表达式)、信息(字符串表达式)、默认值(依字段类型而定)。