急~
第一章:
1.数据管理经历了以下几个阶段:手工管理、文件系统、数据库系统、分布式数据库系统、面向对象的数据库系统,其中数据开始独立于程序的阶段是:数据库系统,数据库系统的高级阶段是:面向对象的数据库系统.
2.数据库是相关的数据的集合,管理的是表及表之间的联系,一个具体的数据库就是一个实际的关系模型.
3.实体:客观存在而又相互区别的事物,可以是具体的事物,也可以是抽象的概念.
例如:学生,学生选课
实体型:抽象实体的外型,是属性的集合,是一种实体类型,相当于表的结构.
实体集:同类实体的集合,相当于一个表中的所有的记录.
4.实体或称表之间的联系的类型分为三种:一对一,一对多,多对多.
要建立两个表多对多的关系,只需要建立第三立表--纽带表,来实现两个一对多的关系.
5.关系术语:
a.关系:二维表.在vfp中表现为一个扩展名为.dbf的表文件.
b.关系模式:对应于关系的结构,相当于表结构.
c.元组:二维表水平方向的行,在vfp中,又叫记录.
d.属性:二维表垂直方向的列,又叫记录.
e.域:属性的取值范围.例如逻辑型字段的域:逻辑真或者是逻辑假.
f.关键字:能够唯一标记一个元组的属性或者是属性的组合(字段或者是字段的组合),分为两种:主关键字和候选关键字.主关键字不仅可以体现主关键字的特征,而且还用于和其它表发生联系.
g.外部关键字:不是本表的关键字,却是另外一个表的关键字(主关键字或者是候选关键字),这个字段就是外部关键字,一般用外部关键字来保证表之间的联系.
6.关系的特点:
a.关系必须规范化.(关系模式必须满足一定的要求),最基本的要求是表中的属性不可分割,即表中不能再包含表.
b.关系中不能有相同的元组或者是属性(重复记录或者重名的字段)
c.关系中的元组和属性的次序无关紧要(对表中排序体现了关系的特点---表中的记录的顺序无关紧要)
7.数据模型分为三种:层次模型、网状模型、关系模型(用二维表来描述实体与实体之间的联系)
8.关系的基本运算有两类:传统的集合运算(并,交,差),专门的关系运算(选择,投影,联接)
传统的集合运算:并、交、差,要求参与运算的两个关系(表)必须具有相同的关系模式(表结构)
并:包含两个表中的所有的记录.(查询的并运算的运算符为union)
交:两个关系(表)中都有的元组(记录)
差:从一个关系中去掉另一个关系中也有的元组,剩下的元组(记录)
专门的关系运算:选择、投影和联接.
选择:从关系(表)中找出条件满足的元组(记录).在sql select 中主要用where 条件来实现选择操作.
投影:从关系(表)中找出若干属性(字段).在sql select 中用select 来实现关系的投影操作.
联接:两个或者是多个关系的横向组合,即形成一个更大的关系.在sql select 中主要用join来实现其操作.
等值联接:两个表根据公共字段相等进行的联接.(inner join)
自然联接:去掉重复属性值的等值联接.
9.数据库设计的步骤:
需求分析、确定所需要的表、确定所需的字段、确定表之间的联系、设计求精.
10.visual foxfro 是一个32位关系数据库管理系统,是一个可运行于windows95,windows98,windowsNT的可视化,面向对象的编辑语言.
第二章:
1.Visual Foxpro 有三种工作方式:1.用菜单或者是工具栏 2.在命令窗口直接输入命令 3.利用各种生成器来自动产生程序,或者是编写foxpro程序(命令文件)来执行它.
2.菜单项后面有"...",表示会弹出一个对话框.
3.用dir 命令可以显示当前目录下的表的信息.用clear 命令表示清除主屏幕的内容.
4.ctrl+F2表示显示命令窗口.ctrl+F4表示隐藏命令窗口.
5.项目管理器的各个选项卡的功能:
数据:管理数据库各个选项卡的功能.
文档:管理表单、报表、标签
代码:管理是程序、API库、应用程序.
其它:管理菜单、文本文件和其它文件.
6.有关工具栏的操作:均在显示菜单下的工具栏实现.
a.显示和隐藏工具栏.b.可以新建一全用户自己的工具栏.
c.可以修改(定制)用户和系统的工具栏 d.可以删除用户自己的工具栏,但是不能删除系统的工具栏.
e.可以重置(恢复)系统的工具栏.
7.可以定制vfp的运行环境,通过工具/选项下进行.
区域选项卡:设置日期和时间的显示方式,小数位以及货币的符号.
表单:可以设置表单的默认大小.
语法着色:可以设置程序代码的颜色.
文件位置:可以设置默认目录和帮助文件.
这种设置可以是永久的,也可以是临时的.当设置完毕后,直接按确定,这种设置只在本次运行vfp时有效,因为它是保存在内存中,内存在每次退出vfp时自动释放,当设置完毕后,设置为默认值后,再按确定,这种设置永久有效,因为它保存在windows注册表中.
8.vfp新增了很多向导,有新的应用程序向导,新的连接向导,新的数据库向导,新的Web发布向导,新的示例向导.
9.打开不同文件时,系统会自动调出相应的设计器.
第四章:
1.表分为两种:数据库表和自由表.
数据库表可以设计长表名,长字段名,可以设置字段有效性规则,违反规则时的提示信息,默认值,格式,输入掩码以及在浏览时显示的标题和记录级规则.
数据库长表名可以长达128个字符,自由表的字段名和表名最长只能为10个字符.
2.记录查找的命令:
locate for ...定位到条件满足的第一条记录
continue ...定位到条件满足的下一条记录
seek 值---索引查找
都可以用found()函数来测试是否找到结果.
3.索引分为四种:主索引,候选索引,唯一索引,普通索引.
主索引:体现主关键字的功能,索引字段不能重复,一般用于其它表建立联系.自由表没有主关键字,因此自由表不能建立主索引.
候选索引:体现候选关键字的功能,索引字段也不能重复.
唯一索引:索引字段值重复的记录,在索引项中只出现第一条记录(一般用来统计类别)
普通索引:一般默认情况下建立的索引,都是普通索引,索引字段可以重复,一般用于建立一对多的联系体现外部关键字的功能.
4.索引根据参与索引的字段的多少,又可以分为单项索引,复合字段索引.
单项索引参与索引的字段只有一个,可以通过选择字段之后的一种索引顺序,然后转到索引选项卡中中去改其索引的类型和索引名.
复合字段索引:参与索引的字段有多个.建立索引时,必须在索引选项卡中输入,而且索引表达式是:
字段1+字段2+字段3...(要求字段1,字段2,字段3...具有相同的类型,如果不是同种类型,必须将其转换为同种类型)
5.索引文件:存放索引的文件.根据其中索引的个数,可以将其分为单索引文件,复合索引文件(又分为结构索引文件和非结构索引)
单索引文件:(里面只包含一个索引),扩展名为.idx,这种文件不会随着表随表文件打开而打开.
复合索引文件:扩展名为.cdx,文件名和表文件名同名的索引文件为结构索引文件这种文件会随着表文件的打开而打开.另一种文件名和表文件名不同名,扩展名为.cdx,这种文件不会随着表文件打开而打开.
单索引文件和非结构复合索引文件在使用其中的索引项时,必须首先用命令打开.
set index to 索引文件名(单索引文件名或者是非结构复合索引文件名)
6.如何设置当前索引:
set order to 索引名
7.使所有的索引项都不成为当前索引:
set order to
8.建立索引:(新建的索引自动成为当前索引)
index on 索引表达式 tag 索引名 [unique]/[candidate]
unique:表示建立的索引为唯一索引.
candidate:表示建立的索引为候选索引.
没有这两个选项表示建立的索引为普通索引,用命令方式不能建立主索引,自由表不能建立主索引.
9.删除索引项:
delete tag 索引名 &&删除指定的索引
delete tag all &&删除表中的所有的索引.
10.数据完整性分为三种:实体完整性,域完整性,参照完整性.
实体完整性:即保证表中的记录的唯一性,主要通过关键字来保证的.关键字的功能通过索引来实现.
域完整性:表中的字段在哪些范围内有意义.一般来说,表中有关字段的定义(类型,宽度,小数位,规则等)都属于域完整性.
参照完整性:建立了联系的表之间在进行某些操作(更新,删除,插入)时,必须满足的条件.主要分为更新规则,删除规则和插入规则.(更新规则,删除规则又分为级联,限制,忽略.插入规则又分为限制规则和忽略)
11.工作区:
总共有32767个作区,一个工作区同一时刻只能打开一个表,因此同一时刻可以打开32767个表.
工作区号从1--32767,每个工作区都有一个工作区别名 1--10:工作区别名为A-J,11-32767工作区别名为WH-W32767.
12.可以通过set relation 命令建立两个表之间的临时关联,通过这种关联可以实现A 表的指针带动B 表指针的移动.
第五章:
1.sql语言的全称:structured query language(结构化查询语言),它有四种功能:
数据查询:(select 语句),数据定义(create,alter,drop),数据操作(insert,update,delete),数据控制,其中sql的核心是查询.
2.集合的并运算的运算符为 union.
3.能够表示存在结果的谓词是 exists.
4.量词 any 和 some 是同一种意思,表示任意一个,而all代表所有.
5.利用空值查询应该是: 字段 is null
6.超联接查询:(vfp 自身联接)有四种内联接(inner join),左联接(left join),右联接(right join),全联接(full join),这种联接条件是出现在 on 短语中.
7.查询去向有:表(into table <表名>),临时表( into cursor 临时表名),文本文件( to file 文件文件名),屏幕(to screen),数组(into array 数组名).
当to 短语和into 短语同时出现时,优先考虑 into 短语,即忽略 to 短语.
8.要查询前几条记录:使用 top n 短语,当查询前 n%的记录,用top n percent,注意:top n
[percent] 必须与 order by 连用.
9.删除表的命令是: drop table 表名.
删除视图的命令是: drop view 视图名.
第六章:
1.查询是一个预先定义好的 select 语句,扩展名为.qpr,是一个只读文件.
2.视图是一个由基本表导出的虑表,只是作为视图的一个浏览窗口,实际并不存储数据,在磁盘上没有文件,因此在对视图进行任何操作时,必须首先打开数据库,视图可以像表一样用 use 命令打开,可以用 use 命令关闭,可以用 browse 命令浏览,可以用 select 语句检索,但是不能用modify structure 修改结构.
3.视图不仅可以查询基本表,还可以更新基本表,(通过更新条件)但是必须发送sql更新.
4.查询设计器不能设计所有的查询.(它只能建立简单查询和多个表之间的联接查询,但是不能设计嵌套等查询)
5.查询和视图的区别:
查询有查询去向,视图没有.视图有更新条件,而查询没有.(视图更新基本表,查询不能更新)
第七章:
1.注释行以 NOTE 或*开头,在命令行后面添加注释用 &&
2.set talk off --关闭人机对话.
3.cancel:强行终止程序执行,返回到命令窗口.
return:结束当前程序的执行,返回到调用点.
quit:退出vfp(释放内存)
4.用 do 命令执行程序文件时,如果没有指定扩展名,系统执行程序文件的先后顺序是:.exe(可执行文件),.app(应用程序文件),.fxp(程序编译文件),.prg(程序文件)
5.简单的输入输出命令有三种:
input,accept,wait
input 可以接受所有类型的数据,因此在输入时,必须加上相应的数据类型的定界符.
accept :只能接受字符型的数据,在输入时,不需要加定界符,系统会自动为其加上字符型的定界符.
如果输入的数据中含有字符型的("",'',[]),系统会将其认为是字符串本身的一部分.
wait只能接受单个字符.
如果要求一个命令接受一个字符型的数据(不是单个字符),这时优先考虑用accept.
6.程序的基本结构:顺序结构,选择结构,循环结构.
选择结构:if...else...endif,do case...case...endcase,选择结构本身也是一种顺序结构.
循环结构:do while...enddo
for...endfor(计数循环)
scan for...endscan(扫描循环)
在for ...endfor 中当步长缺省为 1,循环变量,初值,终值只在循环最初被计算一次:
当步长为正数时,循环变量小于等于(<=)终值时,循环条件为.t.
当步长为负数时,循环变量大于等于(>=)终值时,循环条件为.t.
在循环体中可以有loop ,exit
loop:是提前结束本次循环,进入下一次循环(即在本次循环中不执行loop 后面的语句,而是直接转到 do while 处重新判断条件是否为.t.
exit:表示强制性的终止(跳出)循环,转到 enddo 的后面.
7.参数传递,变量的作用域:请大家看笔记.
第八章:
请大家在上机过程中总结,并且看一下有关控件的一些属性和一些方法,以及一些常用的事件.
第九章:
1.vfp的菜单分为两种:条形菜单和弹出式菜单.无论是哪一种类型的菜单,当选择其中的某个菜单项时,会有一定的动作(结果):可以是执行一条命令,可以是执行一个过程,激活子菜单.
2.典型的菜单系统一般是一个下拉式菜单,由一个条形菜单加一组弹出式菜单组成.其中条形菜单为主菜单,弹出式菜单作为子菜单.
快捷菜单是由一个或一组弹出式菜单构成.
3.可以通过set sysmenu 命令可以允许或者是禁止在程序执行时访问系统菜单,也可以重新配置系统菜单.
set sysmenu on 允许程序执行时访问系统文件.
set sysmenu off 禁止程序执行时访问系统菜单.
set sysmenu to default :恢复系统菜单.
set sysmenu save:将当前菜单设置成系统菜单.
set sysmenu nosave:系统菜单恢复成标准配置
要想返回到vfp的系统菜单的标准配置,可以首先执行set sysmenu nosave 然后执行set sysmenu to default 命令.
4.在菜单设计器的窗口,可以定义一个菜单,其中有三列:菜单名称,结果,选项.
菜单名称列:指定菜单项的名称,也就是标题.可以为菜单设置一个热键(即在菜单名称的前面或者是后面加上:\<字母) 可以为菜单之间添加分组线:即在两个菜单项之间插入新菜单项,菜单项名称列中输入"\-" 结果列:选择菜单项时引发的结果:子菜单(submenu),菜单项(pad name),过程(procedure),命令(command) 选择列:可以为菜单项设置快捷键.(选中键标签,按下相应的快捷键即可),可以为菜单项设置跳过条件(即当此条件为.t.时,菜单项为灰色,不可使用),可以为菜单项设置在状态栏上的功能提示.
5.如何从下级返回到上一级,选择菜单级中的菜单栏,如何从上级进入下级,选择子菜单,编辑即可.
6.如何插入一个标准系统菜单命令:(插入栏) 选中某个菜单项,选择"插入栏"按钮,在其中选择菜单命令,确定即可.(只能在弹出式菜单中插入栏)
7.如何为顶层表章添加菜单:(假设菜单,表单都已建立)
a.在菜单设计器中,将"显示"菜单下的"常规选项"中的"顶层表单"复选框选中,使其归顶层表单调用.
b.将表单的showwindow 属性设计为2,使其作为顶层表单(即作为一个单独的窗口)
c.在表单的 init 事件中调用菜单: do 菜单程序文件名.mpr with this
d.在表单的 destroy 事件中书写释放(清除)菜单的命令: release menu 菜单文件名
8.快捷菜单一般在对象(控件)的rightclick事件中调用: do 快捷菜单程序文件名.mpr
9.释放快捷菜单是在菜单设计器中的"显示"菜单下"常规选项"的"清理"事件中书写: release popups 快捷菜单程序文件名
10.数据环境的对象会随着表单或者报表的打开而打开,关闭而关闭.
第十章:
1.报表设计主要包括两部分内容:数据源和布局. 报表数据源:可以是数据库表或者是自由表,视图查询或者是临时表. 常用报表布局有四种:列报表,行报表,一对多报表和多栏报表.
2.如何为报表设计数据源:只需要将报表的数据源添加到数据环境中即可.
报表中用于排序和分组字段(表达式)必须建立索引,而且要成立当前索引.
要想成为当前索引,只需要在数据环境设计器中右键单击表,选属性,再选order 属性,将order 属性设置为当前索引的索引项.
3.标签:用于在报表上显示一些不需要改变的文字.
域控件:用于显示字段,内存变量或者是表达式的值.
图片/activex绑定控件:用于显示图片或者是通过型字段的内容.
4.如何设计分栏报表:"文件"菜单下的"页面设置",将列数改为>1,列数及栏数.
或者是用向导建立报表时,改变列数.
第十一章:
请大家参考要求大家记录的内容.
大家必须将所有的课后习题弄清楚,笔试15套及机试40套.
新增:
1.类分为容器类和控件类.
2.所有类均有的属性是类的最小属性集.有class 属性(类名),baseclass--(基类名,即祖先),parentclass--(父类名,父母亲), classlibrary 属性:(类库文件名,基类为系统自动携带的,不存在于类库文件中,因此classlibrary 属生为空(串).)
3.所有类都会发生的事件叫类的最小事件集: init 事件,error 事件,destroy 事件.
init 事件:初始化事件.即在对象生成的时候引发.
error 事件:对象运行出错时产生.(生病的事件)
destroy 事件:对象释放或者是关闭时引发.(死亡的事件)
4.对于由系统引发的事件中的先生顺序:
load-->init-->destroy-->unload
容器 (例如: 表单)后生成,先释放.
对象(例如: 表单中的命令按钮),先生成,后释放.
unload:是对象释放的最后一个事件.
5.enabled:控件是否可用.
visible:指定控件是否可见.
对于表格的数据源,如果题目要求是显示表或者是视图的所有内容,而又没有说明必须是 0-表,那么一律将表或者是视图添加到数据环境,然后往上拖,根据需要改表格的一些属性.
而对于其它要求,只能自己添加一个表格控件,设置 recordsourcetype,recordsource以及name等属性.
1.数据管理经历了以下几个阶段:手工管理、文件系统、数据库系统、分布式数据库系统、面向对象的数据库系统,其中数据开始独立于程序的阶段是:数据库系统,数据库系统的高级阶段是:面向对象的数据库系统.
2.数据库是相关的数据的集合,管理的是表及表之间的联系,一个具体的数据库就是一个实际的关系模型.
3.实体:客观存在而又相互区别的事物,可以是具体的事物,也可以是抽象的概念.
例如:学生,学生选课
实体型:抽象实体的外型,是属性的集合,是一种实体类型,相当于表的结构.
实体集:同类实体的集合,相当于一个表中的所有的记录.
4.实体或称表之间的联系的类型分为三种:一对一,一对多,多对多.
要建立两个表多对多的关系,只需要建立第三立表--纽带表,来实现两个一对多的关系.
5.关系术语:
a.关系:二维表.在vfp中表现为一个扩展名为.dbf的表文件.
b.关系模式:对应于关系的结构,相当于表结构.
c.元组:二维表水平方向的行,在vfp中,又叫记录.
d.属性:二维表垂直方向的列,又叫记录.
e.域:属性的取值范围.例如逻辑型字段的域:逻辑真或者是逻辑假.
f.关键字:能够唯一标记一个元组的属性或者是属性的组合(字段或者是字段的组合),分为两种:主关键字和候选关键字.主关键字不仅可以体现主关键字的特征,而且还用于和其它表发生联系.
g.外部关键字:不是本表的关键字,却是另外一个表的关键字(主关键字或者是候选关键字),这个字段就是外部关键字,一般用外部关键字来保证表之间的联系.
6.关系的特点:
a.关系必须规范化.(关系模式必须满足一定的要求),最基本的要求是表中的属性不可分割,即表中不能再包含表.
b.关系中不能有相同的元组或者是属性(重复记录或者重名的字段)
c.关系中的元组和属性的次序无关紧要(对表中排序体现了关系的特点---表中的记录的顺序无关紧要)
7.数据模型分为三种:层次模型、网状模型、关系模型(用二维表来描述实体与实体之间的联系)
8.关系的基本运算有两类:传统的集合运算(并,交,差),专门的关系运算(选择,投影,联接)
传统的集合运算:并、交、差,要求参与运算的两个关系(表)必须具有相同的关系模式(表结构)
并:包含两个表中的所有的记录.(查询的并运算的运算符为union)
交:两个关系(表)中都有的元组(记录)
差:从一个关系中去掉另一个关系中也有的元组,剩下的元组(记录)
专门的关系运算:选择、投影和联接.
选择:从关系(表)中找出条件满足的元组(记录).在sql select 中主要用where 条件来实现选择操作.
投影:从关系(表)中找出若干属性(字段).在sql select 中用select 来实现关系的投影操作.
联接:两个或者是多个关系的横向组合,即形成一个更大的关系.在sql select 中主要用join来实现其操作.
等值联接:两个表根据公共字段相等进行的联接.(inner join)
自然联接:去掉重复属性值的等值联接.
9.数据库设计的步骤:
需求分析、确定所需要的表、确定所需的字段、确定表之间的联系、设计求精.
10.visual foxfro 是一个32位关系数据库管理系统,是一个可运行于windows95,windows98,windowsNT的可视化,面向对象的编辑语言.
第二章:
1.Visual Foxpro 有三种工作方式:1.用菜单或者是工具栏 2.在命令窗口直接输入命令 3.利用各种生成器来自动产生程序,或者是编写foxpro程序(命令文件)来执行它.
2.菜单项后面有"...",表示会弹出一个对话框.
3.用dir 命令可以显示当前目录下的表的信息.用clear 命令表示清除主屏幕的内容.
4.ctrl+F2表示显示命令窗口.ctrl+F4表示隐藏命令窗口.
5.项目管理器的各个选项卡的功能:
数据:管理数据库各个选项卡的功能.
文档:管理表单、报表、标签
代码:管理是程序、API库、应用程序.
其它:管理菜单、文本文件和其它文件.
6.有关工具栏的操作:均在显示菜单下的工具栏实现.
a.显示和隐藏工具栏.b.可以新建一全用户自己的工具栏.
c.可以修改(定制)用户和系统的工具栏 d.可以删除用户自己的工具栏,但是不能删除系统的工具栏.
e.可以重置(恢复)系统的工具栏.
7.可以定制vfp的运行环境,通过工具/选项下进行.
区域选项卡:设置日期和时间的显示方式,小数位以及货币的符号.
表单:可以设置表单的默认大小.
语法着色:可以设置程序代码的颜色.
文件位置:可以设置默认目录和帮助文件.
这种设置可以是永久的,也可以是临时的.当设置完毕后,直接按确定,这种设置只在本次运行vfp时有效,因为它是保存在内存中,内存在每次退出vfp时自动释放,当设置完毕后,设置为默认值后,再按确定,这种设置永久有效,因为它保存在windows注册表中.
8.vfp新增了很多向导,有新的应用程序向导,新的连接向导,新的数据库向导,新的Web发布向导,新的示例向导.
9.打开不同文件时,系统会自动调出相应的设计器.
第四章:
1.表分为两种:数据库表和自由表.
数据库表可以设计长表名,长字段名,可以设置字段有效性规则,违反规则时的提示信息,默认值,格式,输入掩码以及在浏览时显示的标题和记录级规则.
数据库长表名可以长达128个字符,自由表的字段名和表名最长只能为10个字符.
2.记录查找的命令:
locate for ...定位到条件满足的第一条记录
continue ...定位到条件满足的下一条记录
seek 值---索引查找
都可以用found()函数来测试是否找到结果.
3.索引分为四种:主索引,候选索引,唯一索引,普通索引.
主索引:体现主关键字的功能,索引字段不能重复,一般用于其它表建立联系.自由表没有主关键字,因此自由表不能建立主索引.
候选索引:体现候选关键字的功能,索引字段也不能重复.
唯一索引:索引字段值重复的记录,在索引项中只出现第一条记录(一般用来统计类别)
普通索引:一般默认情况下建立的索引,都是普通索引,索引字段可以重复,一般用于建立一对多的联系体现外部关键字的功能.
4.索引根据参与索引的字段的多少,又可以分为单项索引,复合字段索引.
单项索引参与索引的字段只有一个,可以通过选择字段之后的一种索引顺序,然后转到索引选项卡中中去改其索引的类型和索引名.
复合字段索引:参与索引的字段有多个.建立索引时,必须在索引选项卡中输入,而且索引表达式是:
字段1+字段2+字段3...(要求字段1,字段2,字段3...具有相同的类型,如果不是同种类型,必须将其转换为同种类型)
5.索引文件:存放索引的文件.根据其中索引的个数,可以将其分为单索引文件,复合索引文件(又分为结构索引文件和非结构索引)
单索引文件:(里面只包含一个索引),扩展名为.idx,这种文件不会随着表随表文件打开而打开.
复合索引文件:扩展名为.cdx,文件名和表文件名同名的索引文件为结构索引文件这种文件会随着表文件的打开而打开.另一种文件名和表文件名不同名,扩展名为.cdx,这种文件不会随着表文件打开而打开.
单索引文件和非结构复合索引文件在使用其中的索引项时,必须首先用命令打开.
set index to 索引文件名(单索引文件名或者是非结构复合索引文件名)
6.如何设置当前索引:
set order to 索引名
7.使所有的索引项都不成为当前索引:
set order to
8.建立索引:(新建的索引自动成为当前索引)
index on 索引表达式 tag 索引名 [unique]/[candidate]
unique:表示建立的索引为唯一索引.
candidate:表示建立的索引为候选索引.
没有这两个选项表示建立的索引为普通索引,用命令方式不能建立主索引,自由表不能建立主索引.
9.删除索引项:
delete tag 索引名 &&删除指定的索引
delete tag all &&删除表中的所有的索引.
10.数据完整性分为三种:实体完整性,域完整性,参照完整性.
实体完整性:即保证表中的记录的唯一性,主要通过关键字来保证的.关键字的功能通过索引来实现.
域完整性:表中的字段在哪些范围内有意义.一般来说,表中有关字段的定义(类型,宽度,小数位,规则等)都属于域完整性.
参照完整性:建立了联系的表之间在进行某些操作(更新,删除,插入)时,必须满足的条件.主要分为更新规则,删除规则和插入规则.(更新规则,删除规则又分为级联,限制,忽略.插入规则又分为限制规则和忽略)
11.工作区:
总共有32767个作区,一个工作区同一时刻只能打开一个表,因此同一时刻可以打开32767个表.
工作区号从1--32767,每个工作区都有一个工作区别名 1--10:工作区别名为A-J,11-32767工作区别名为WH-W32767.
12.可以通过set relation 命令建立两个表之间的临时关联,通过这种关联可以实现A 表的指针带动B 表指针的移动.
第五章:
1.sql语言的全称:structured query language(结构化查询语言),它有四种功能:
数据查询:(select 语句),数据定义(create,alter,drop),数据操作(insert,update,delete),数据控制,其中sql的核心是查询.
2.集合的并运算的运算符为 union.
3.能够表示存在结果的谓词是 exists.
4.量词 any 和 some 是同一种意思,表示任意一个,而all代表所有.
5.利用空值查询应该是: 字段 is null
6.超联接查询:(vfp 自身联接)有四种内联接(inner join),左联接(left join),右联接(right join),全联接(full join),这种联接条件是出现在 on 短语中.
7.查询去向有:表(into table <表名>),临时表( into cursor 临时表名),文本文件( to file 文件文件名),屏幕(to screen),数组(into array 数组名).
当to 短语和into 短语同时出现时,优先考虑 into 短语,即忽略 to 短语.
8.要查询前几条记录:使用 top n 短语,当查询前 n%的记录,用top n percent,注意:top n
[percent] 必须与 order by 连用.
9.删除表的命令是: drop table 表名.
删除视图的命令是: drop view 视图名.
第六章:
1.查询是一个预先定义好的 select 语句,扩展名为.qpr,是一个只读文件.
2.视图是一个由基本表导出的虑表,只是作为视图的一个浏览窗口,实际并不存储数据,在磁盘上没有文件,因此在对视图进行任何操作时,必须首先打开数据库,视图可以像表一样用 use 命令打开,可以用 use 命令关闭,可以用 browse 命令浏览,可以用 select 语句检索,但是不能用modify structure 修改结构.
3.视图不仅可以查询基本表,还可以更新基本表,(通过更新条件)但是必须发送sql更新.
4.查询设计器不能设计所有的查询.(它只能建立简单查询和多个表之间的联接查询,但是不能设计嵌套等查询)
5.查询和视图的区别:
查询有查询去向,视图没有.视图有更新条件,而查询没有.(视图更新基本表,查询不能更新)
第七章:
1.注释行以 NOTE 或*开头,在命令行后面添加注释用 &&
2.set talk off --关闭人机对话.
3.cancel:强行终止程序执行,返回到命令窗口.
return:结束当前程序的执行,返回到调用点.
quit:退出vfp(释放内存)
4.用 do 命令执行程序文件时,如果没有指定扩展名,系统执行程序文件的先后顺序是:.exe(可执行文件),.app(应用程序文件),.fxp(程序编译文件),.prg(程序文件)
5.简单的输入输出命令有三种:
input,accept,wait
input 可以接受所有类型的数据,因此在输入时,必须加上相应的数据类型的定界符.
accept :只能接受字符型的数据,在输入时,不需要加定界符,系统会自动为其加上字符型的定界符.
如果输入的数据中含有字符型的("",'',[]),系统会将其认为是字符串本身的一部分.
wait只能接受单个字符.
如果要求一个命令接受一个字符型的数据(不是单个字符),这时优先考虑用accept.
6.程序的基本结构:顺序结构,选择结构,循环结构.
选择结构:if...else...endif,do case...case...endcase,选择结构本身也是一种顺序结构.
循环结构:do while...enddo
for...endfor(计数循环)
scan for...endscan(扫描循环)
在for ...endfor 中当步长缺省为 1,循环变量,初值,终值只在循环最初被计算一次:
当步长为正数时,循环变量小于等于(<=)终值时,循环条件为.t.
当步长为负数时,循环变量大于等于(>=)终值时,循环条件为.t.
在循环体中可以有loop ,exit
loop:是提前结束本次循环,进入下一次循环(即在本次循环中不执行loop 后面的语句,而是直接转到 do while 处重新判断条件是否为.t.
exit:表示强制性的终止(跳出)循环,转到 enddo 的后面.
7.参数传递,变量的作用域:请大家看笔记.
第八章:
请大家在上机过程中总结,并且看一下有关控件的一些属性和一些方法,以及一些常用的事件.
第九章:
1.vfp的菜单分为两种:条形菜单和弹出式菜单.无论是哪一种类型的菜单,当选择其中的某个菜单项时,会有一定的动作(结果):可以是执行一条命令,可以是执行一个过程,激活子菜单.
2.典型的菜单系统一般是一个下拉式菜单,由一个条形菜单加一组弹出式菜单组成.其中条形菜单为主菜单,弹出式菜单作为子菜单.
快捷菜单是由一个或一组弹出式菜单构成.
3.可以通过set sysmenu 命令可以允许或者是禁止在程序执行时访问系统菜单,也可以重新配置系统菜单.
set sysmenu on 允许程序执行时访问系统文件.
set sysmenu off 禁止程序执行时访问系统菜单.
set sysmenu to default :恢复系统菜单.
set sysmenu save:将当前菜单设置成系统菜单.
set sysmenu nosave:系统菜单恢复成标准配置
要想返回到vfp的系统菜单的标准配置,可以首先执行set sysmenu nosave 然后执行set sysmenu to default 命令.
4.在菜单设计器的窗口,可以定义一个菜单,其中有三列:菜单名称,结果,选项.
菜单名称列:指定菜单项的名称,也就是标题.可以为菜单设置一个热键(即在菜单名称的前面或者是后面加上:\<字母) 可以为菜单之间添加分组线:即在两个菜单项之间插入新菜单项,菜单项名称列中输入"\-" 结果列:选择菜单项时引发的结果:子菜单(submenu),菜单项(pad name),过程(procedure),命令(command) 选择列:可以为菜单项设置快捷键.(选中键标签,按下相应的快捷键即可),可以为菜单项设置跳过条件(即当此条件为.t.时,菜单项为灰色,不可使用),可以为菜单项设置在状态栏上的功能提示.
5.如何从下级返回到上一级,选择菜单级中的菜单栏,如何从上级进入下级,选择子菜单,编辑即可.
6.如何插入一个标准系统菜单命令:(插入栏) 选中某个菜单项,选择"插入栏"按钮,在其中选择菜单命令,确定即可.(只能在弹出式菜单中插入栏)
7.如何为顶层表章添加菜单:(假设菜单,表单都已建立)
a.在菜单设计器中,将"显示"菜单下的"常规选项"中的"顶层表单"复选框选中,使其归顶层表单调用.
b.将表单的showwindow 属性设计为2,使其作为顶层表单(即作为一个单独的窗口)
c.在表单的 init 事件中调用菜单: do 菜单程序文件名.mpr with this
d.在表单的 destroy 事件中书写释放(清除)菜单的命令: release menu 菜单文件名
8.快捷菜单一般在对象(控件)的rightclick事件中调用: do 快捷菜单程序文件名.mpr
9.释放快捷菜单是在菜单设计器中的"显示"菜单下"常规选项"的"清理"事件中书写: release popups 快捷菜单程序文件名
10.数据环境的对象会随着表单或者报表的打开而打开,关闭而关闭.
第十章:
1.报表设计主要包括两部分内容:数据源和布局. 报表数据源:可以是数据库表或者是自由表,视图查询或者是临时表. 常用报表布局有四种:列报表,行报表,一对多报表和多栏报表.
2.如何为报表设计数据源:只需要将报表的数据源添加到数据环境中即可.
报表中用于排序和分组字段(表达式)必须建立索引,而且要成立当前索引.
要想成为当前索引,只需要在数据环境设计器中右键单击表,选属性,再选order 属性,将order 属性设置为当前索引的索引项.
3.标签:用于在报表上显示一些不需要改变的文字.
域控件:用于显示字段,内存变量或者是表达式的值.
图片/activex绑定控件:用于显示图片或者是通过型字段的内容.
4.如何设计分栏报表:"文件"菜单下的"页面设置",将列数改为>1,列数及栏数.
或者是用向导建立报表时,改变列数.
第十一章:
请大家参考要求大家记录的内容.
大家必须将所有的课后习题弄清楚,笔试15套及机试40套.
新增:
1.类分为容器类和控件类.
2.所有类均有的属性是类的最小属性集.有class 属性(类名),baseclass--(基类名,即祖先),parentclass--(父类名,父母亲), classlibrary 属性:(类库文件名,基类为系统自动携带的,不存在于类库文件中,因此classlibrary 属生为空(串).)
3.所有类都会发生的事件叫类的最小事件集: init 事件,error 事件,destroy 事件.
init 事件:初始化事件.即在对象生成的时候引发.
error 事件:对象运行出错时产生.(生病的事件)
destroy 事件:对象释放或者是关闭时引发.(死亡的事件)
4.对于由系统引发的事件中的先生顺序:
load-->init-->destroy-->unload
容器 (例如: 表单)后生成,先释放.
对象(例如: 表单中的命令按钮),先生成,后释放.
unload:是对象释放的最后一个事件.
5.enabled:控件是否可用.
visible:指定控件是否可见.
对于表格的数据源,如果题目要求是显示表或者是视图的所有内容,而又没有说明必须是 0-表,那么一律将表或者是视图添加到数据环境,然后往上拖,根据需要改表格的一些属性.
而对于其它要求,只能自己添加一个表格控件,设置 recordsourcetype,recordsource以及name等属性.
温馨提示:答案为网友推荐,仅供参考