VF学习笔记完整版
Vf笔记整理

Vf笔记整理一.Vf中常用文件扩展名备注型文件:fpt 数据库文件:dbc 数据库备注文件:dct 数据库索引文件:dcx 表文件:dbf 报表文件:frx 索引文件:cdx(复合索引)idx(单索引) 项目文件:pjx 菜单文件:mnx它将继续生成mpr文件视图文件:vue 查询文件:qpr 程序文件:prg 文本文件:txt二.数组部分知识(数据之间的传送) 数组:就是按一定顺序排列的一组内存变量。
在vfp之中同一数组的元素可以是不同的类型,且同一个元素的前后类型都是可以改变的。
各个元素的初值为.F. 可以用一维数组来表示二维数组。
数组的下标是从1开始的,而不是0将一个记录传到一个数组:命令格式scatter to 另外使用memvar可以将数据复制到一组内存变量中去。
为了区分开字段变量与内存变量可以在其前民加上个m (这种内存变量的实用性表现在表关闭之后)例如:11=1111 ?编号就会输出1111 而?m.编号就会输出11(注意在m之后还有一个小圆点)如果缺省了fields子句就只传送除了备注型字段的所有字段值,若要传备注型字段就要加上memo将数组或内存变量传送到记录:命令格式gather from (覆盖当前记录)修改之前应该确定记录指针看p60业的例如。
内存变量的值只传给与它同名的字段若用了fileds子句即使有memo子句也会忽略通用型字段将表的一批记录复制到数组:copy to array(数组名) 不复制备注型字段从数组向表追加记录append from array<数组名>数组的行数就是追加的记录的个数该命令与gather命令的区别,该命令是在表尾追加一个记录,而gather 是替换当前记录。
使用数组必须要先定义,且数组的下标是从1开始的三.变量与常量字符型常量:必须用,双引号,单引号,方括号等定界符括起来。
Vf字符串的最大长度为254个字节,若某个字符串包含了定界符则必须用另外一种定界符括起来,例如:“I …m a student.”日期型常量:必须用花括号括起来格式中有^时表明该日期格式是严格的。
VF全部笔记

VF全部笔记。
一字段数据类型(11种)字符型C 双精度型B数值型N 整型I(4)逻辑型L(1)货币型Y(8)日期型D(8)备注型M(4)时间型T(8)通用型G(4)浮点(动)型F四、自由表的创建及修改表结构1、创建1)利用项目管理器创建2)“新建”-“表”字段名、类型、宽度===================2、修改表结构1)“显示”--“表设计器”2)命令:MODIFY STRUCTURE修改已有字段、增加新字段、删除不用的字段========================================三、表的基本操作1、浏览表1)使用浏览器浏览(BROWSE)2)显示记录LIST:显示所有记录DISPLAY:显示当前记录2、增加表记录1)追加记录(在表尾增加记录)•“表”--“追加新记录”:CTRL+Y•APPEND命令2)插入记录(在任意位置增加记录)INSERT命令命令格式:-----------------------INSERT [BEFORE] [BLANK]-----------------------3、删除记录•逻辑删除:在记录旁边作删除标记,可恢复•物理删除:真正从表中删除1)置删除标记•从“表”中选择“切换删除标记”•利用CTRL+T•命令:DELETE [FOR 条件]2)恢复记录•从“表”中选择“切换删除标记”•利用CTRL+T•命令:RECALL [FOR 条件]3)物理删除有删除标记的记录•“表”中选择“彻底删除”•命令:PACK4)物理删除表中的全部记录•命令:ZAP4、修改记录1)在浏览器窗口中直接修改2)命令交互式修改•EDIT•CHANGE3)用REPLACE命令直接修改命令格式:-------------------------------------REPLACE 字段名WITH 表达式[FOR 条件]-------------------------------------5、查询定位命令1)直接定位:GO 、GOTO命令格式:-----------------------GO 记录号| TOP | BOTTOM-----------------------2)相对定位:SKIP命令格式:-----------------------SKIP [记录数]-----------------------3)条件定位:LOCATE命令格式:定位至第一个满足条件的记录上-----------------------LOCATE FOR [条件表达式]-----------------------CONTINUE:定位至下一个满足条件的记录第二节表的的基本操作设置VF的默认目录:工具—选项—文件位置…1、增加表记录1)追加记录(在表尾增加记录)•“表”--“追加新记录”:CTRL+Y•APPEND命令2)插入记录(在任意位置增加记录)INSERT命令命令格式:-----------------------INSERT [BEFORE] [BLANK]-----------------------2、删除记录•逻辑删除:在记录旁边作删除标记,可恢复•物理删除:真正从表中删除1)置删除标记•从“表”中选择“切换删除标记”•命令:DELETE [FOR 条件]2)恢复记录•从“表”中选择“切换删除标记”•命令:RECALL [FOR 条件]3)物理删除有删除标记的记录•“表”中选择“彻底删除”•命令:PACK4)物理删除表中的全部记录•命令:ZAP3、修改记录1)在浏览器窗口中直接修改2)命令交互式修改•EDIT•CHANGE3)用REPLACE命令直接修改命令格式:-------------------------------------REPLACE 字段名WITH 表达式[FOR 条件]修改当前记录REPLACE all 字段名WITH 表达式修改全部记录-------------------------------------4、查询定位命令1)直接定位:GO 、GOTO命令格式:-----------------------GO 记录号| TOP | BOTTOM-----------------------2)相对定位:SKIP命令格式:-----------------------SKIP [记录数]-----------------------3)条件定位:LOCATE命令格式:定位至第一个满足条件的记录上-----------------------LOCATE FOR [条件表达式]-----------------------CONTINUE:定位至下一个满足条件的记录第三节表的的基本操作之二1、查询定位命令1)直接定位:GO 、GOTO、数字命令格式:-----------------------GO 记录号| TOP | BOTTOM-----------------------2)相对定位:SKIP命令格式:-----------------------SKIP [记录数]-----------------------3)条件定位:LOCATE命令格式:定位至第一个满足条件的记录上-----------------------LOCATE FOR [条件表达式]-----------------------CONTINUE:定位至下一个满足条件的记录2.SQL语句的查询数据查询①.格式:select 字段名/表名/* from 表1 inner join 表2 on 表1主关键字=表2主关键字where 筛选条件[group by (按……分组)having(限定分组条件)order by(按……排序)数据工作期:close all:关闭VF中的应用程序select * from 学生信息表order by 年龄select 姓名,年龄from 学生信息表select * from 学生信息表where 地址="北京市"操作功能①.插入insert into 表名value②. 更新update 表名set 字段=表达式where 条件③.删除delete from 表名where 条件定义功能①.表的定义creat ***②. 删除表drop table表名删除视图drop viewSQL中的模糊查询:1.Select * from 表名where 字段名like “%公司”/”_大学”%:代表0个或多个字符。
vf笔记

if x>=0
?"输入的是正数。"
endif
b.双分支选择结构
命令格式:if 条件表达式
命令序列1
else
命令序列2
endif
pack
4)删除所有记录 专用命令:za源自 例如:delete all
pack
8、计数、求和、求平均数(针对字段运算)
1)计数:count
例:count for 英语>85 to x //统计英语大于85分的人数,保存到变量x中
?x
count all to y //统计记录的个数
3)条件定位
例如:locate for 英语>85
display
continue
6、记录成批修改
replace 总分 with 数学+英语+政治+计算机基础+数据库 all
replace all 平均分 with (数学+英语+政治+计算机基础+数据库)/5
set order to yingyu
list
3、删除所有命令
例:delete tag sx
delete tag yingyu
4、建立表间临时关系
例:
select 1
use 学生成绩表
select 2
use 学生信息表
set order to 学号
slect 1
例:accept "请输入民族的信息:" to a
命令特点:只能输入字符型的数据类型,不需要加定界符。
vf重点笔记笔记重点

VF重点笔记一、非SQL中的基本概念非SQL命令:使用之前必须首先的打开表1、VF是一种面向对象的数据库编程语言2、计算机对数据管理经历了由低级到高级的发展阶段:人工管理文件系统数据库系统分布式数据库系统,面向对象的数据库系统数据库系统阶段最大的特点是:实现了数据共享,减少了数据冗余分布式数据库系统:是计算机网络技术和数据库技术相结合的产物面向对象的数据库系统:是面向对象的程序设计方法和数据库技术相结合的产物五个发展阶段的共同点是:数据管理3、关系运算分为:传统关系运算和专门关系运算传统关系运算:并交差专门关系运算:选择投影联接选择:针对表中行进行的操作投影:针对表中列进行的操作联接:对两张以上表的操作4、数据模型从低到高发展阶段:层次数据模型网状数据模型关系数据模型树状结构网状结构二维表结构5、数据库系统由五部分组成:硬件系统数据库集合数据库管理系统极其相关软件数据库管理员和用户DBS DB DBMS6、DBS 包括 DB 和 DBMS7、扩展名dbc:数据库文件dbf:表文件mnx:菜单的基本结构文件,只能用来修改菜单mpr:菜单的可执行文件,用来执行菜单pjx:项目文件qpr:查询文件prg:程序文件txt:文件文件,必须要书写扩展名scx:表单文件vue:视图文件frx:报表文件,报表要查看结果,只能预览,不能运行dbt:备注型文件FPT:通用型文件通用型可以保存文档电子表格或者图片索引的扩展名:idx 和 cdxidx :称为单索引index on 索引字段名 to 索引名cdx :称为复合索引index on 索引字段名 tag 索引名8、项目管理器:数据文档类代码其他数据:包括有数据库,自由表,查询文档:包括有表单报表标签代码:程序其他:菜单9、索引:建立索引的目的就是提高查询速度,降低更新速度索引分为:主索引普通索引侯选索引唯一索引index on 索引名 tag 索引名 unique &&非SQL语句建立的唯一索引alter table 表名 add unique 索引字段名 tag 索引名 &&表示用SQL语句建立侯选索引index on 索引名 tag 索引名 candidate &&表示用非SQL 语句建立侯选索引10、数据完整性分为:实体完整性域完整性参照完整性实体完整性:强调的是记录的唯一的特性靠主索引或者侯选索引来实现域完整性:规则信息默认值逻辑表达式字符表达式由字段类型决定参照完整性:插入规则删除规则更新规则11、数据:按照计算机处理数据形式的不同,可以把数据分为常量变量表达式和函数1) 常量:N C D T Y L I M G FD T Y :共同点是8个字节I M G :共同点是4个字节字符定界符有三对: "" '' []日期定界符: {} ^ / - . 或者空格2)变量:字段变量和内存变量a、数组:连续的空白的存储单元A、数组的创建命令:dimension 数组名(下标) declare 数组名(下标)B、数组有一维数组和二维数组C、数组创建后,没有赋值之前全部接收系统赋予的逻辑假值 .f.D、同一个数组中,各个数组元素可以接收不同类型的数据E、任何数组的下标都是从1开始的b、变量按照它的作用域可以被分为:公共变量私有变量局部变量公共变量:又名为全局变量,在程序中任何地方都可以使用 public 变量名私有变量:又名为内存变量局部变量:在那里定义就只能在那里使用local 变量名3)表达式: 字符表达式: + -日期表达式: + - 唯一没有日期+日期的格式关系表达式: $逻辑表达式: and or not4) 函数:int pi round modlen space left right substr date() time() datetime()str val ctod ctot ttoc dtocvartype eof() bof()1、SQL数据的定义:create project 项目名create database 数据库名create table 表名(字段名1 类型(宽度),字段名2 类型(宽度)) create view 视图名 as select 语句 from 表名打开数据库的命令:open database 数据库名打开数据库设计器的命令:modify database 数据库名指定当前数据库的命令:set database to 数据库名删除数据库的命令:delete database 数据库名删除表的命令: drop table 表名删除视图的命令: drop view 视图名2、SQL的查询:1)select 数据 from 表名 where 条件 order by 排序字段名group by 分组字段名 having 分组条件说明:如果有两个字段排序或者分组,两个字段中间用英文的逗号分开(升序可以省略,降序用desc)group by 一般都放在where的后面,没有where 的时候才可以直接跟到from的后面group by 和 having的顺序可以互换,但是必须要有group by,才能出现having2)查询结果的四种保存方法:into table 表名或者 into dbf 表名是一样的into cursor 临时表名into array 数组名to file 文本文件名或者 to 文本文件名是一样的3、SQL的操纵功能:插入删除和更新三者的共同点是:都是针对表中记录的操作插入:insert into 表名 values(字段值1,字段值2)更新:update 表名 set 字段名=数据 where 条件删除:delete from 表名 where 条件4、SQL对表结构的修改命令:共同点是:统一都以alter table开头给表加字段:alter table 表名 add 字段名类型(宽度)给表加字段的同时加规则:alter table 表名 add 字段名类型(宽度) check 规则表达式给表中已有的一个字段加规则:alter table 表名 alter 字段名set check 规则表达式1、SQL是结构化的查询语言 structured query language 的缩写2、查询和视图1)、查询的新建:文件---新建---查询---create query 查询名2)、查询的扩展名: qpr3)、查询文件的运行:除了!还有命令 do 查询名.qpr4)、查询设计器的局限性:只能建立一些比较规则的查询,而复杂的嵌套查询就无能为力了5)、视图分为本地视图和远程视图(考试只考本地视图)6)、视图的新建:前提条件必须首先打开数据库,因为视图属于数据库文件---新建----视图---create view 视图名 as select 语句7)、查询和视图最大的区别是:查询有查询去向选项卡,视图没有但是视图有更新条件选项卡,查询没有3、程序:结构化的相关命令的集合1)、新建程序:文件---新建---程序----命令: modify command 程序名2)、程序的运行:!命令运行程序:do 程序名.prg3)、变量按照作用域可以分为:公共变量 public 变量名私有变量等价于内存变量局部变量 local 变量名4、表单:form1)表单四个事件的引发先后顺序是: load----init----destroy----unload2) click 鼠标左键单击dblclick 鼠标左键双击rightclick 鼠标右键单击3) form :autocenter 表单运行时是否居中movable:表单运行时能否被移动4)标签 labelcaption:标签上面显示的文本内容backstyle:标签的背景色是否透明5)命令按钮 commandenabled:按钮是否可用visible:按钮是否可见tabindex:命令按钮响应的顺序6)选项按钮组: optiongroup 是一个容器类的控件buttoncount:按钮的数目value:选中的按钮7)文本框 textvalue:文本框中显示的文字passwordchar:密码属性inputmask:文本框中输入数据的类型#:代替正负号数字空格9: 一个9可以代替任意一个数字8)复选框 checkcaption:旁边的文字value: 是否选中 0 :表示没选中 1:表示选中9)表格: grid 和 grd表名columncount:表格的列数recordsourcetype:与表格建立联系的数据源的类型recordsource:与表格建立联系的数据源10)组合框 combo 和列表框 liststyle: 组合框和列表框之间切换的属性rowsourcetype:与组合框或者列表框建立联系的数据源的类型rowsource:与组合框或者列表框建立联系的数据源11)列表框 listmultiselect :列表框的多重选择属性5、菜单:menu 条形菜单和弹出式菜单1)热健: (\<字母)2)快截健:选项---提示选项---键标签---同时按ctrl+字母---3)分组线: \-4)菜单的扩展名: .mnx 和.mpr5)执行菜单的方法:do 菜单名.mpr6)恢复VF系统菜单的命令:set sysmenu to default6、报表 :report1)命令创建报表:create report 报表名2)报表设计器默认的三个带区:页标头细节页注脚3)预览报表的命令:report form 报表名 previewdistinct :去掉查询查询结果中的重复项exists : 相当于 in注意:exists 的前面一定没有任何字段名 in 的前面一定有字段名主索引: primary key。
VF笔记

1.栈实际也是线性表,只不过是一种特殊的线性表。
栈是只能在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。
队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。
栈是先进后出2.由于后序遍历的最后一个元素为E,所以E为根结点,所以它的前序遍历的首个元素为E,故排除A)和D)选项。
由于中序遍历中,元素B在元素根结点E 的后面,所以B为二叉树的右子树,并且该二叉树右子树只有一个元素,所以前序遍历的最后一个元素应为B,故选项C)为正确选项,即该二叉树的前序遍历序列是EACDB。
3.数据流图中带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名4.程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
5.强行排错法:作为传统的调试方法,其过程可概括为设置断点、程序暂停、观察程序状态、继续运行程序。
回溯法:该方法适合于小规模程序的排错、即一旦发现了错误,先分析错误征兆,确定最先发现"症状"的位置。
原因排除法:原因排除法是通过演绎和归纳,以及二分法来实现。
6.内容耦合--若一个模块直接访问另一模块的内容,则这两个模块称为内容耦合。
公共耦合--若一组模块都访问同一全局数据结构,则称为公共耦合。
外部耦合--若一组模块都访问同一全局数据项,则称为外部耦合.控制耦合--若一模块明显地把开关量、名字等信息送入另一模块,控制另一模块的功能,则称为控制耦合。
标记耦合--若两个以上的模块都需要其余某一数据结构的子结构时,不使用其余全局变量的方式而全使用记录传递的方式,这样的耦合称为标记耦合。
数据耦合--若一个模块访问另一个模块,被访问模块的输入和输出都是数据项参数,则这两个模块为数据耦合。
非直接耦合--若两个模块没有直接关系,它们之间的联系完全是通过程序的控制和调用来实现的,则称这两个模块为非直接耦合,这样的耦合独立性最强。
全国计算机等级考试二级VF知识点(完整版)

1、数据处理的中心问题是数据管理。
多年来,数据管理经历了人工管理阶段、文件管理阶段、数据库系统阶段。
2、人工管理阶段面对的主要问题:1、数据不能独立。
2、数据不能长期保存。
3、文件管理阶段面对的主要特点:1、数据与程序分开。
2、数据能长期保存。
3、数据没有完全独立。
4、存在数据冗余。
5、数据不能集中管理。
4、数据库系统阶段特点:1、实现了数据的结构化。
2、实现了数据共享。
3、实现了数据独立。
4、实现了数据统一控制。
5、三者之间的区别:主要在于数据与程序之间的关系。
在人工管理阶段,数据与程序不具有独立性。
在文件系统阶段,程序和数据有了一定的独立性。
在数据库系统阶段提供了数据与应用程序的独立性。
6、数据库(DATA BASE 简写为DB)是按一定的组织形式存储在一起的相互关联的数据集合。
数据库具有数据的结构化、独立性、共享性、冗余量小、安全性、完整性和并发控制的基本特点。
7、数据库管理系统(DATA BASE MANAGEMENT SYSTEM 简写为DBMS)是数据库系统的核心部分。
而数据库运行管理和控制例行程序是数据库管理系统的核心部分。
8、数据库系统(DATA BASE SYSTEM 简写为DBS)具体包括计算机硬件、操作系统、数据库、数据库管理系统和建立在该数据库之上的相关软件、数据库管理员和用户等5个部分。
9、数据库应用系统(DATA BASE APPLICATION SYSTEMS 简写为DBAS)通常由数据库和应用程序组成。
10、数据模型是指数据库的组织形式,它取决于数据库中数据之间联系的表达方式。
数据库管理系统所支持的数据模型分为3类,层次模型、网状模型和关系模型。
11、关系模型:用二维表结构来表示实体以及实体之间联系的模型称为关系模型,在关系模型中把数据看成是二维表中的元素,一张二维表就是一个关系。
12、关系术语:1、关系:一个关系就是一张二维表,在VFP中,一个关系存储为一个文件,文件的扩展名为.dbf,称为表。
VF程序设计笔记

VF程序设计笔记第一章数据库理论基础1.1 数据库系统概述数据是用来描述客观事物的可是别的符号。
这里的符号包括两类:一类是能参与数字运算的数值型数据;一类是不能参与数字运算的非数值型数据,如文字、图画、声音、活动图像等。
数据处理也称信息处理,是指将数据转换成信息的过程。
广义地讲,处理包括对数据的收集、储存、加工、分类检索传播等一系列活动,新的数据又表示了新的信息。
狭义地讲,处理是指对所输入的数据进行加工处理。
其目的是从大量的原始的数据中抽取对人们有价值的信息,并以此作为决策依据。
数据库管理系统(DBMS)是介于应用程序与操作系统之间的数倨库管理软件,是数据库的核心,包括数据库的一切操作,如查询、更新、插入等。
其主要功能包括以下四个方面:(1)数据库定义功能(2)数据操纵功能(3)数据库运行管理(4)数据库建立和维护功能数据库系统是在计算机软、硬件系统的支持下,由数据库、数据库管理系统和数据库应用系统构成的数据处理系统,包括软件部分和硬件部分。
数据库应用系统(DBAS)是利用数据库系统资源开发的面向实际应用的软件系统。
一个数据库应用系统通常由数据库和应用程序组成。
数据库系统的三级模式结构:外模式、概念模式和内模式。
数据库所具有的特点:(1)数据结构化(2)数据独立性(3)数据共享性(4)数据完整性(5)数据冗余度低1.2数据模型结构数据模型中常用的数据模型有三类:(1)层次模型满足两个基本条件:(1)有且只有一个结点无双亲,这个结点就是树的根结点。
(2)其他结点有且只有一个双亲。
层次模型可以直接、方便地表示一对一和一对多关系,但它不能直接表示多对多关系,要想用层次模型表示多对多关系,必须设法将多对多关系分解为多个一对多关系。
(2)网状模型网状模型是用网络结构表示实体类型及其实体间联系的数据模型。
如果美国结点可以有多个父结点,便形成了网状模型,用网状模型可以直接表示多对多关系。
(3)关系模型关系模型是用二维表格的形式表示实体类型及其实体间联系的数据模型。
vf学习笔记

五、逻辑表达式
(运算对象是逻辑真和假)
运算符号:not and or
运算功能:取反not .t.=.f.
And:两边为真时才是真,一边为假即为假
Or :两边为假才为假,一边为真即为真。
T or f = t t or t t f or f f
B:如果步长为负,判断条件为循环变量>=终值,如果条件成立,就执行循环体,执行后循环变量按步长递减,然后再次判断条件,如果成立,再判断,直到条件为假,退出循环,到endfor后的语句。
第三节 vf数据库记录的操作
1、 表记录的基础操作
浏览当前记录或某一条记录:display
表记录定位
语法结构
Do while <条件>
循环体
End do
循环过程:首先判断条件是否成立,如果为真,就执行循环体,执行后再判断条件,如果成立再执行,直到条件为假,退出循环,到end do 语句。
2 for 循环
for 循环变量=初值 to 终值(step 步长)
循环体
Endfor
执行过程A:如果步长为正,判断条件为循环变量<=终值,如果条件成立,就执行循环体,执行后循环变量按步长递增,然后再次判断条件,如果成立,再执行,再判断,直到条件为假,退出循环,到endfor后的语句。
Where 面积>400 and 仓库.仓库号=职工.仓库号
Sele 职工号,城市 from 仓库 join 职工 on;
仓库.仓库号=职工.仓库号 where 面积>400
Sele 字段 from 表1 join 表2 on;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*VF学习笔记*章节.Ⅰ1.选择查询:“标记”select*from 个人账号记录 where 名称="工商银行"2.改变主窗口字体大小命令:_screen.fontsize=253.清除主荧幕内容命令:clear4.项目建立命令:create project <要建立的项目文件名>5.字符型数据1).字符型数据输出时都必须加定界符[]、""、''<任选其一>。
定界符都必须成对输出,否者无效,如遇定界符嵌套使用,以最外成的定界符为准,期间的定界符都是字符型数据。
(定界符定义了字符型数据从哪里开始到哪里结束,其间的数据都属于字符型数据)2).其次,VF中的汉字、数字、空格都属于字符型数据。
(字符型数据是原样输出,必须区分大小写)*一个?代表"输出"两个??代表"不换行输出" *章节Ⅱ1.表达式①由数据、变量、函数、运算符构成的式子。
②用来计算、判断和数据的转换。
1)数值型表达式:(其结果也是数值型的)———————————————————————优先级运算符说明1 ( ) 形成表达式内的子表达式2 * *或^ 乘方运算3 * / % 乘除运算、求余运算4 + - 加减运算----------------------------------------------1@求余运算%和取余函数MOD()的作用相同,结果的正负号与除数一致。
2@如果余数与被除数同号就是两数相除的余数,反之则把两数相除的余数加上除数的值。
2).字符表达式①它只有加和减两种运算。
②不管哪种运算,它的结果仍然是字符串。
③两个字符串相加,其结果就是两个字符串首尾相连。
④连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。
示例:"ABC "+"123"="ABC123 "3)日期时间型表达式@计算格式没有日期+日期/日期+-日期时间/日期时间+日期时间。
————————————————————————————————————格式结果及类型<日期>+<天数> 日期型。
指定若干天后的日期<天数>+<日期> 日期型。
指定若干天后的日期<日期>-<天数> 日期型。
指定若干天后的日期<日期>-<日期> 数值型。
两个指定日期相差的天数<日期时间>+<秒数> 日期时间型。
指定若干秒后的日期时间<秒数>+<日期时间> 日期时间型。
指定若干秒后的日期时间<日期时间>-<秒数> 日期时间型。
指定若干秒前的日期时间<日期时间>-<日期时间> 数值型。
两个指定日期时间相差的秒数——————————————————————————————————————4)逻辑表达式<.T.真 .F.假>①它的运算结果任然是逻辑型数据②它只有三个运算符a.NOT <表达式或值>:其结果刚好与NOT后面的结果相反。
b.<表达式1> AND <表达式2>:必须1和2的值都为真,整个AND才返回真,反之返回假。
c.<表达式1> OR <表达式2>:只要一边为真,整个OR就返回真值,否则就返回假值。
eg:?11<122 and 34+55<11 <.F.>11<122 and 34+55>11 <.T.>11<122 or 34+55>11 <.T.>11<122 or 34+55<11 <.T.>not 34+55<11 <.T.>not 34+55>11 <.F.>5)关系表达式①关系表达式也是一种逻辑表达式。
②它的结果<表达式1> <关系运算符> <表达式2>。
③它的运算结果任然是逻辑型数据。
所有关系运算符:>、<、=、<>/#或!=、 <=、>=、==、$@数值和货币的比较依据①数值越大就越大。
②正数大于负数。
@用命令设置输出日期时间格式的命令:set date to <ymd/mdy/dmy>日期年份输出设置命令:set century on/off<默认两位>@日前和日期时间的比较依据:①越晚的日期越大,反之越小。
②日期与年龄刚好相反,日期大的年龄小。
@逻辑数据的表达依据:.T.>.F. <真大于假>@<字符串1>$<字符串2>美元符号用来测试左字符串是否是右字符串的子串,如是返回真,反之为假。
我们对其定义为:拿左边的整个字符串与右边的整个字符串做比较,只要能在右边字符串中找到一个或一部分或一个整体与右边一模一样,左边就是右边的字符串。
eg:?"abcd"$"abcde" <.T.>"abcd"$"abc" <.F.>@<字符串1>=<字符串2>等号是用来测试左边是否是右边的前缀,如是返回真,反之为假。
我们对其定义为:拿左边字符串的最左边的一个或一部分或一个整体与右边做比较,只要与右边的整体一模一样,右边就是左边的前缀。
eg:?"abcd"="abcde" <.F.>"abcd"="abc" <.T.>@①数字字符的比较:从左向右一个一个的比较数字的大小。
②字母字符的比较:a.按拼音顺序排序(笔划):每个大写字母大于它的小写字母,并且每个大小写字母都小于后面的字母。
b.按机器码排序:每个字幕的大写小于小写,并且每个字母的小写大于后面的大写。
③汉字字符的比较:a.按拼音顺序(机器码):比较两个汉字的拼音字母。
b.按笔划排序:比较两个汉字的笔划数,笔划数多的就大。
*@<字符串1>==<字符串2>必须左右两边的长度,且对应的内容完全相同时才返回真,反之为假。
**@set exact on 时,<字符串1>=<字符串2>①必须字符串1和2的内容相同时,且长都不相同时才返回真。
②如果长度不同,系统会自动在较短字符串的尾部补足与另一长度相同时,才返回真。
*N>C>关>逻辑。
*章节Ⅲ*数据库:1)它是存放数据的一个仓库(其拓展名为.dbc)2)建立数据库有三种方法:①在项目中建立。
②从“新建”对话框中建立。
用命令交互建立命令:create database <数据库名>/?打开数据库的命令:open database <数据库名>/?修改数据库的命令(真正打开数据库设计器):modify database <数据库名>/?关闭数据库的命令:close all删除数据库命令:delete database <数据库名>/?@如果指定的数据库存在,则直接打开该数据库;如果不存在,则自动建立并打开。
当有多个数据库打开时,制定一个数据库为当前数据库的命令:set database to <指定数据库名>如此命令:set database to 不指定数据库名时,此使得所打开的数据库都不是当前数据库(所有数据库其实都还没有关闭)**表的操作1)VF中的表分数据库表和自由表两种。
2)表由结构和数据构成。
3)表的结构由名称、字段名、行和列构成。
4)建立表的命令:create <表名>use *关闭表use <表名> *打开表brows *浏览打开的表 **如果建立表结构后保存过,那么再次打开表是不能直接向里面输入数据的,此时,要使用以下几种方法输入数据:1)[表]--[追加新纪录] *快捷命令:ctrl+y*一次只能追加一条记录2)[显示]--[追加方式] *一次则可以追加多条记录使用命令:append *append blank *在表的尾部增加一条空白记录 *@练习1.01)把供应商名含有“华”的地址改为贵阳。
使用命令:/replace 地址 with "贵阳" for "华"$供应商名/。
2)把在WH2工作的员工工资提高15%。
使用命令:/replace 工资 with 工资+工资*0.15 for 仓库号="WH2"/。
3)把职工号E3所签订的订单逻辑删除。
使用命令:/delete for 职工号= "E3"/。
4)把仓库在北京的面积增加100平方米。
使用命令:/replace 面积 with 面积+100 for 城市="北京"/。
** modify structure @打开表设计器**在VF中,数据库和表都必须以独占的方式打开。
<打开表浏览器命令:browse>修改表的记录:增加记录、删除记录、插入记录、修改记录<都只是对数据的更改><记录指针所在的行叫当前记录,初次打开的表,记录指针在表的第一行> 1)插入记录:insert @在当前记录的下排插入新的记录。
insert before @在当前记录的上排插入新的纪录。
insert blank @在当前记录后添加一个空白行。
insert before blank @在当前记录前添加一条空白记录。
**在VF中的物理删除基础上进行的操作:逻辑删除:在记录前打上删除标记。
方法:1)直接在记录前打标记。
2)[表]--[切换删除标记]3)ctrl+t4)命令:delete @把当前记录打上标记delete all @打所有记录都打上标记delete for <条件> @把满足条件的记录打上标记恢复记录:1)becall @恢复当前记录2)becall all @恢复所有记录3)becall for<条件> @把满足条件的记录恢复物理删除:1)pack @把打上标记的记录彻底删除2)zap @物理删除表中的所有记录,不删表,使用需谨慎 @也称清空表修改记录:<填充、替换、更新>1)replace <要修改的字段名> with <要替换的数据>2)replace all <要修改的字段名> with <要替换的数据>3)replace <要修改的字段名> with <要替换的数据> for <条件>注:①只把当前记录指定字段值进行修改;②把表中只把指定字段只进行替换和修改;③把表中指定字段值进行修改和更新。