VFP程序设计第三章
数据库管理系统VFP-第三章
1
本章要点
3.1 面向对象的程序设计
3.2 创建表单
表单的属性、 3.3 表单的属性、事件和方法
3.4 表单集与多重表单
2
3.1 面向对象的程序设计
对象(Object) 客观世界里的任何实体都可以被看作是对象。对象 可以是具体的物,也可以指某些概念。 从编程的角度来看,对象是一种将数据和操作过程 结合在一起的数据结构,或者是一种具有属性(数据) 和方法(过程和函数)的集合体。事实上程序中的对 象就是对客观世界中对象的一种抽象描述 (1)对象属性:属性用来表示对象的状态。 (2)对象方法:对象方法是描述对象行为的过程。
含义 列表框 微调 表格 图像 计时器 页框 ActiveX控件 ActiveX绑定型
5
类名 Line Shape Container Se含义 线条 形状 容器 分割符 超级链接 活动文档 (表格)列
类名 Control Page Form FormSet Header Custom ToolBar
4
类名 Label Text Box Edit Box Command Button Command Group Option Group Check Box Combo Box
含义 标签 文本框 编辑框 命令按钮 命令按钮组 选项按钮组 复选框 组合框
类名 List Box Spinner Grid Image Timer Page Frame ActiveX Control ActiveX Bou Control
31
3.向数据环境添加表或视图。在数据环境设计 器环境下,按下列方法向数据环境添加表或视 图: 在系统菜单中选择【数据环境】|【添加】命 令,或右键单击“数据环境设计器窗口”,然 后在弹出的快捷菜单中选择【添加】命令,打 开“添加表或视图”对话框,如图所示。如果 数据环境原来是空的,那么在打开数据环境设 计器时,该对话框就会自动出现。
第3章VFP的编程工具与编程步骤
代码窗口
表单控件工具 栏 表单生成器
第3章 VFP的编程工具与编程步骤
3.2.3 “表单控件”工具栏
单击“表单设计器”工具栏上的“表单控件工具栏”
按钮,屏幕出现“表单控件”工具栏,可以把它拖放到 适当的位置。
第3章 VFP的编程工具与编程步骤
3.2.4 “属性”窗口
设计时,一般在“属性窗口”中修改或设置属性。 通过单击“表单设计器”工具栏中的“属性窗口” 按钮 ,可打开“属性”窗口。
第3章 VFP的编程工具与编程步骤
1. “对象”下拉列表框 标识当前选定的对象。单击右端的向下箭头,可 看到包括当前表单(或表单集)及其所包含的全部对 象的列表。可以从列表中选择要更改其属性的表单或 对象。
第3章 VFP的编程工具与编程步骤
2. 选项卡 选项卡中,按分类方式显示所选对象的属性、事件 和方法。 (1) “全部”选项卡:显示全部属性、事件和方法。
第3章 VFP的编程工具与编程步骤
3.4.3 控件的复制与删除
对控件进行复制与删除的常用方法有下面3种:
• 将所要操作的控件变为“活动控件”,按〈Ctrl〉
+〈C〉键将该控件拷贝到剪贴板中,按〈Ctrl〉+〈V〉
键可以在表单中得到该控件的复制品。对于活动控件,
只须按〈Delete〉键即可删除该控件。 • 用常用工具栏上的“复制”和“粘贴”按钮,以及 “剪切”按钮。 • 直接用鼠标右击要操作的控件,打开快捷菜单,在 快捷菜单中选取需要的项。
第3章 VFP的编程工具与编程步骤
3.2 表单设计器
3.2.1 打开表单设计器
打开表单设计器的方法有4种。 • 单击常用工具栏上的“新建”按钮,弹出“新建” 对话框,选中“表单”单选钮,单击“新建文件”。 • 在命令窗口中使用CREATE FORM命令。 • 在“项目管理器”的“文档”选项卡中,选中“表 单”,再单击“新建”按钮。
VFP第3部分(程序算法及顺序分支)
y/4=int(y/4) and y/100<>int(y/100) or y/400=int(y/400)
CLEAR INPUT "请输入年份:" to y IF y/4=int(y/4) and y/100<>int(y/100) y/400=int(y/400) ?str(y,4)+"年是闰年" ELSE ?str(y,4)+"年不是闰年" ENDIF RETURN
例 交换变量A和B的值。 算法描述如下: S1:A→T; S2:B→A; S3:T→B; 根据此算法,马上可以写出VFP程序如下: T=A A=B B=T
A B
T
一个算法应该具有以下特点:
①确定性。
②有穷性。
③有效性。 ④输入。 ⑤输出。
任何一个问题能否让计算机处理, 关键在于能否设计出合理的算法,有 了合适的算法,再使用合适的计算机 语言来编写程序。 VFP就是一种语言工具。要用VFP 编写出高质量的程序,一方面要构建 合理的算法,另一方面要掌握VFP的语 法规则,它是实现算法的基础。
P
Y
A
条件p
N B
T
F
A
B
(a)流程图
(b)N-S图
•
循环结构:是指重复执行某些操作, 重复执行的部分称为循环体。
N 条件P Y A 条件P
A
(a)流程图
(b)N-S图
程序文件中的常用命令
1、基本的输入/输出命令
1)INPUT命令(任意数据输入命令,除M和 G型之外的其他类型的数据) 格式:INPUT [<提示信息>] TO <内 存变量> 功能:在屏幕上显示[<提示信息>], 并等待用户通过键盘输入表达式,再把表 达式的值赋给指定的<内存变量>。
Visual FoxPro-第3章_自由表的基本操作
3.2 表的操作
3.2 表的操作
3.2.2 表的打开与关闭
2. 关闭表
– – – 方法1:新建或打开另一个新表同时,自动关闭旧表。 方法2:关闭Visual FoxPro系统关闭表。 方法3:用命令USE关闭表。 格式:USE
3.2 表的操作
3.2.3 浏览表中的数据
1. 浏览窗口和编辑窗口 2. 调整浏览窗口
说明: “&&注释部分”是对命令的说明, 不是命令的可执行部分,可以省略不写。
• 命令格式说明 1. 命令动词
– 表示要执行的操作,是一个命令中必不可少的部分。
3.2 表的操作
2. 语句体
由一系列功能子句构成,表明操作的对象及对操作的限制, 使用时可以根据需要选择一个或多个功能子句,也可以一个 都不选。 命令动词(List)的功能子句有5类:
3.2 表的操作
6. 复制生成排序表文件 格式:SORT TO <排序文件>
ON<字段1>[/A|/D][/C][,字段2][/A|/D][/C] [<范围>][FIELDS<字段表>][FOR|WHILE <条件>]
功能:按指定字段重新排列记录并生成新文件,原文件不变。 说明:排序文件以排序字段值为序,优先按字段1排序,...
3.1 表结构
3.1.1 表结构概述
• 表(关系)的构成:
VFP第三章(10版)
表结构的显示、 第二节 表结构的显示、修改和复制
一、表结构的显示 格式1 <工作区号>/<别名 工作区号>/<别名>] 格式1:DISPLAY STRUCTURE [IN <工作区号>/<别名>] 格式2 <工作区号>/<别名 工作区号>/<别名>] 格式2:LIST STRUCTURE [IN <工作区号>/<别名>] 功能:两条命令的功能相同,都是显示表文件的结构 显示表文件的结构。 功能:两条命令的功能相同,都是显示表文件的结构。 STRU进行分页显示 进行分页显示; STRU连续显示。 连续显示 DISP STRU进行分页显示;LIST STRU连续显示。 说明: 说明: 显示表文件的结构,包括每个字段的名称、类型和宽度。 ①显示表文件的结构,包括每个字段的名称、类型和宽度。 显示表中当前的记录数和最近更新的日期。 ②显示表中当前的记录数和最近更新的日期。 如果表中有一个相关备注字段,则显示备注字段块的大小。 ③如果表中有一个相关备注字段,则显示备注字段块的大小。 显示所有字段的总宽度和表的代码页。 ④显示所有字段的总宽度和表的代码页。
表结构的显示、修改和复制( 第二节 表结构的显示、修改和复制(续)
演示一: 演示一:表结构 的全盘复制。 的全盘复制。
结果显示
表结构的显示、修改和复制( 第二节 表结构的显示、修改和复制(续)
演示二: 演示二:表结构 部分字段的复 的部分字段的复 制
结果显示
第三节 表记录的输入
一、利用界面操作输入表的记录
表结构的建立( 第一节 表结构的建立(续) BM表的表结构为 表的表结构为: 3、BM表的表结构为:
第3章VFP数据库及其操作2
修改数据库
前两种方式打开同时,自动进入修改状态(数据库设计器)。 命令方式打开数据库设计器方法是: Modify database [数据库文件名 | ? ] (缺省则为当前数据库 3 )
将数据库添加到项目中
在项目管理器/数据选项卡/选定数据库/添加
删除数据库
从项目管理器中删除数据库(点击移去按钮,弹出对话框)。 移去:从项目管理器中移出,但不做物理删除(磁盘上保留) 删除:完全删除(磁盘上也不保留) 注:这样删除是不能删除数据库中包含的表、视图等文件。 命令方式删除数据库: Close database (不加参数,关闭当前数据库) Close database all (关闭所有打开的数据库) 注:使用命令方式删除数据库之前,要先关闭它才行! Delete database [数据库文件名 | ? ] (删除数据库) 两个参数举例: Delete database 订货管理 deletetables 同时删除所含表文件 Delete database 订货管理 recycle 不做彻底删除,放入回收站
12
3.3表的基本操作
3.3.1使用浏览器操作表 界面方式:项目管理器/数据库/表/浏览 命令方式:用use命令打开表后,键入browse命令 3.3.6记录指针的定位: 记录指针:VFP数据库的表是由行和列组成的,每一行称 为一条记录。每一条记录根据输入的先后顺序,有一个物理 记录号。VFP为每张表都保存一个记录指针,它指向当前操 作的记录,通过其记录号来标识。 VFP对单行记录操作时,一定是对记录指针指向的当前记 录做操作,不会影响其他记录。所以一定要时刻注意记录指 针的位臵,以便准确的对目标记录进行操作。
使用(打开)数据库
在项目管理器中打开数据库: 从“打开”对话框中打开数据库: 命令方式打开数据库: Open Database [数据库文件名 | ? ] 说明: 只读方式打开:不允许对数据库进行修改。 独占方式打开:不允许其他联网用户同时使用该数据库。
VFP第三章
2.开始标志:开始标志在第一行记录上一行,用 开始标志:开始标志在第一行记录上一行, 开始标志 于防止记录指针出界,使用 于防止记录指针出界,使用bof()函数可 函数可 以获知记录指针是否指向该行 3.结束标志:结束标志在最后一条记录下一行, 结束标志:结束标志在最后一条记录下一行, 结束标志 使用EOF()函数。 ()函数。 使用 ()函数
2)工作区中表的别名 USE 表文件名 ALIAS 别名 ALIAS([工作区号])得到指定工作区的表别名。 SELECT([别名])测试指定表别名的工作区号。 3)当前工作区(VFP正在使用的工作区,即默认工作区) (1)在“数据工作期”中设置当前工作区 (2)命令:SELECT 工作区号 | 别名
3.2 表的打开与关闭
3.2.1工作区
1)概念(所谓工作区是指用以标识一张打开的表的区域) 在打开一张表时,必须为该表指定一个“工作区”。 编号1—32767,前10个也可用A—J
注:1如果某工作区中已有表打开,可以用表的”别名”作为工作区号. 2一个工作区中只能打开一张表,如果在一个工作区中已经打开了一张表,再 在此工作区中打开另一张表时,前一张表将自动关闭.
3.3表的记录
3.3.1记录的定位 记录的定位 当用户向表中输入数据时,VFP ,VFP为每个记录 (当用户向表中输入数据时,VFP为每个记录 都按输入顺序指定了”记录号” 第一个为1, 都按输入顺序指定了”记录号”,第一个为1, 依次类推.) 依次类推.)
表被打开后,有三个控制记录的标志: 表被打开后,有三个控制记录的标志:
3.3.5.使用 INSERT-SQL 命令
表名[ 字段1[ 字段2 ] 1[, INTO 表名[(字段1[,字段2…])]; VALUES(表达式1[ 表达式2 ] 1[, VALUES(表达式1[,表达式2…]) 其中, 其中,字段名列表用于指定插入的新记录的哪 些字段需要填值.缺省时表示全部字段. 些字段需要填值.缺省时表示全部字段. 可以使用以下命令向xs表中插入一条新记录. xs表中插入一条新记录 例:可以使用以下命令向xs表中插入一条新记录. insert into xs(xh,xm,xb) values 950106”, 高山 高山” 男 (“950106 ,”高山”,”男”) 950106 2.使用APPEND FROM命令追加记录 2.使用APPEND 和APPEND FROM命令追加记录 使用 区号|别名] APPEND [BLANOM 表名 [DELIMTED|XSL] 1.INSERT
vfp第3章(理论)数据库·表
二、数据表
⑹显示表记录 LIST|DISPLAY [<范围>] [[FIELDS]<字段名表>][FOR <条件>][OFF] <范围>:ALL、NEXT <n>、RECORD <n>、REST OFF:不显示记录号。 注意:省略范围和条件,LIST默认ALL,DISPLAY默 认当前记录。
二、数据表
⑾复制表结构 COPY STRUCTURE TO <数据表文件名> [FIELDS <字段名表>] ⑿复制表记录 COPY TO <数据表文件名> [FIELDS <字段名表>] [<范围>] [FOR <条件>] 注意:省略范围和条件,默认ALL。
二、数据表
⑸记录指针定位
首标记 首记录
当前记录 尾记录 尾标记
一个表被打开时,记录指针自动指向首记录。 ①直接定位 GO|GOTO <记录号>|TOP|BOTTOM ②相对定位 SKIP [<数值表达式>] 注意:SKIP 等价于 SKIP 1
二、数据表
⒁将表的当前记录复制到数组 SCATTER [FIELDS<字段名表>] TO <数组名> ⒂将数组中的数据复制到表的当前记录 GATHER FROM < ⒃向数据库中添加自由表 ADD TABLE <表名> ⒄从数据库中移去或删除表 REMOVE TABLE <表名> [DELETE]
二、数据表
⒀删除表记录 ①逻辑删除(添加删除标记) DELETE [范围] [FOR <条件>] 注意:省略范围和条件,默认当前记录。 ②恢复逻辑删除(去掉删除标记) RECALL [<范围>][FOR <条件>] 注意:省略范围和条件,默认当前记录。 ③彻底删除添加删除标记的记录 PACK ④彻底删除所有记录 ZAP
VFP 第三章 课件
&& 关闭当前使用的表 && 关闭当前数据库中所有打开的表 && 关闭所有打开的表 && 关闭所有打开的表、程序文件及表单等 && 关闭所有的表、程序文件及表单等,
clear all
清
除内存变量 4、修改表结构(打开表设计器进行修改) 方法: 1)表设计器 2)modify structure 注: modify structure 后面不接表名
(3) 记录号测试函数 RECNO
格式:RECNO([<数值表达式>│<表别名>]) 功能:给出<数值表达式>指定的工作区中打开的数据表的当前记录号; 无参数时,给出当前表当前记录号;没有打开的表时,返回值为 0;如果指针指向文件尾,函数值为表文件中的记录数加1,如果 记录指针指向文件首,函数值为最上面记录的记录号 举例:use xsqk ?recno( ) skip –1 ?recno( ) go bottom ?recno( ) skip ?recno()
all: 全部记录 Next n: 从当前记录开始的n条记录 Rest: 从当前记录开始到最后一条记录 Record n:具体的某条记录
第三章 数据库和表
例1:将“成绩”表中所有学生的成绩加10分
use 学生成绩 replace all 成绩 with 成绩+10
例2:将“成绩”表中所有女学生的成绩加10分
第几个记录
表尾
绝对定位:Go [记录号|top|bottom]
表头
相对定位:Skip [数值]
条件定位:Locate for continue 条件
正数:向下 负数:向上
第三章 数据库和表
VFP程序设计PPT课件
D50
• 答案B
• 2013年甲公司就此项租赁确认的租赁费用=( 36+34+26)÷4=24(万元)
• 若出租人为主营出租的租赁公司, 则确认为“租赁收入”,若出租人 为兼营出租的制造企业或经销商, 则确认为“其他业务收入”。
(三)初始直接费用的会计处理 出租人发生的初始直接费用,应当确认为 当期费用。
• 杠杆租赁
– 出租人自筹资金不足购买租赁资产,以 拟购买的租赁资产作为抵押,租金作为 偿还贷款的保证,从银行等金融机构处 筹集长期贷款购买租赁资产,以使租赁 业务得以实现的租赁方式。
– 依靠出租人和第三者信贷提供的资金共 同制造或购置资产以供出租,出租人本 身出资仅占租赁资产价款的20%~40%左 右,但取得租赁物名义上的所有权。
• 1.租赁类型的判断。
与出租人相同,承租人在进行会计核算之 前首先应当判断租赁的类型。租赁合同中 没有规定优惠购买或租赁的选择权,租赁 期占租赁资产全部使用寿命的33.33%( 5/15),不足75%。此外,租赁开始日的最 低租赁付款额的现值为49807.6元,占租赁 资产总价值的33.21%(49807.6/15000),不 足90%。最后,该租赁资产也不是为承租人 专门定制的专用资产。综上,该租赁不符 合判断为融资租赁的任何一项标准,从而 此项租赁为经营租赁。
• 借:管理费用/制造费用/销售费用等
贷:银行存款/现金/其他应付款等
(二)初始直接费用的处理
• 承租人发生的初始直接费用,应当确认为 当期费用。
– 借记“管理费用”等科目,贷记“银行存款” 等科目。
(三)或有租金
• 在经营租赁下,承租人对或有租金的处理 与融资租赁下相同,即在实际发生时确认 为当期费用。
Visual FoxPro 6.0 程序设计 第三章
C(1,1) C(1,2) C(1,3) C(2,1) C(2,2) C(2,3)
2)数组的赋值
数组元素的赋值与普通内存变量一样,可以通过 STORE命令或“=”来实现。
DIMENSION A(2,3),B(3) .F. .F. 4 武汉 ?A(1,2),A(2,3) .F. A(1,1)=“武汉” {^2006-3-6} .F. A(1,2)=4 A(2,1)={^2006-3-6} B=“你好” .F. .F. 你好 你好 ?A(1), A(2), A(3), A(4), A(5), A(6) ?B(1), B(2) ,B(3)
各种运算符的优先级:
括号 正、负号 乘方 乘、除、模 加、减 字符运算符 关系运算符 逻辑非 逻辑与
逻辑或
3.2 函数
函数是一个子程序模块,它能完成一种特定
的操作。它的形式一般为: 函数名([自变量1] [,自变量2]……) Vfp函数有两种:用户自定义函数和系统函数。 数值函数、字符串函数、日期和时间函数、 类型转换函数和测试函数
1)内存变量的赋值
格式:<内存变量名>=<表达式>
或 STORE <表达式> TO <内存变量名表>
示例: B=6
年龄=23
STORE B+3 TO C
STORE “中国” TO A,B,C
X=X+1 S=S+X S=S*X
2)内存变量的显示
格式:? <表达式表> 表示结果显示在下一行 ?? <表达式表> 表示结果显示在同一行 LIST / DISPLAY MEMORY [LIKE <通配符>] [TO PRINTER / TO FILE <文件名>] 说明:通配符指“?”和“*” <文件名>的扩展名为.TXT LIST和DISPLAY区别为:LIST连续显示; DISPLAY分页显示。
VFP第3章 VFP数据库及操作
教案讲稿第3章VFP数据库及操作[旧课复习]:复习内容:1. 以互动方式了解学生对整型、数值型、字符型数据掌握程度2. 了解学生对VFP运算符及表达式掌握程度3. 了解学生对各种常用函数的掌握复习目的:了解学生对vfp数据类型,运算符及常用函数的掌握程度及层次情况复习时长:大约5分钟[新课导入]:导入方式:解读数据库应用已普及到社会的方方面面,表是数据库中的的最基本元素。
简单介绍表的基本操作。
导入目的:增强学生的学习积极性导入时长:大约5分钟[新课讲授]:重点:1)数据库、表的建立、编辑和维护。
2)数组与表之间的数据交换命令。
难点:数组与表之间的数据交换命令。
方法:运用多媒体辅助教学,采用案例教学和任务驱动等教学法。
3.1 掌握数据库的基本操作一、数据库的概念数据库是数据库对象(如表、视图、存储过程等)的集合。
在数据库的组织管理下,可以方便地为表中字段设置输入和显示属性,设置默认值,为表创建字段级有效性规则、记录级有效性规则和触发器,为各表之间建立永久关系,创建视图等。
二、数据库的建立与编辑1.交互创建数据库交互创建数据库既可用菜单也可用工具栏。
选“文件” →“新建” →“新建”对话框,文件类型选“数据库”,单击“新建文件”命名按钮→显示“创建”对话框,如图所示。
在“保存在”位置输入创建的数据库文件保存的文件夹,在“数据库名”框内输入要创建的数据库的主文件名。
2. 命令操作数据库在命令窗口键入相应的命令也可创建数据库。
操作数据库命令如下。
(1)创建数据库。
格式:CREATE DA TABASE 数据库名执行该命令后,从界面上看不出任何反映,但数据库文件已经建立。
除非在数据库名前指定路径,否则创建的数据库文件存放在当前默认的文件夹中。
默认的文件夹可通过SET DEFAULT TO命令设定。
(2)打开数据库。
格式:OPEN DATABASE数据库名(3)修改数据库。
格式:MODIFY DATABASE 数据库名(4)关闭数据库。
VFP程序设计-第3章
3. 关闭表
USE CLOSE ALL 关闭表。 关闭所有打开的表。
3.3 显示和修改表的结构
3.3.1 显示表的结构
【格式1】LIST STRUCTURE 【格式2】DISPLAY STRUCTURE 【例3-5】显示学生表xs.dbf的结构。 USE xs LIST STRUCTURE
3.3.2 修改表的结构
3.6.3 修改记录 1. 在“浏览”窗口中修改记录 2. 用Edit / Chang命令修改记录
【格式】 Edit / Chang [<范围>]
[ Fields <字段名表> ] [ For <条件表达式> ]
【功能】修改满足条件的记录中指定字段的数据。 【例3-24】用EDIT命令修改学生表xs中的记录。
【格式】 APPEND [BLANK] 【功能】 在当前表的末尾追加一个或多个记录。若使用 BLANK,则在表的末尾追加一个空白记录。 【例3-9】 执行APPEND命令,给学生表xs.dbf追加一 个空白记录。 USE xs EXCLUSIVE APPEND BLANK BROWSE
3.5 复制表结构和表文件
姓名
性别 出生日期 录取分数
字符型
字符型 日期型 数值型
8
2 8 3 0
团员
特长 照片
逻辑型
备注型 通用型
1
4 4
(1)字段名
① 字段名,即表的列名。 ② 自由表的字段名最长为10个字符。 ③ 字段名必须以字母或汉字开头。 ④ 字段名可以由字母、汉字、数字和下划线组成。 ⑤ 字段名中不能包含有空格。
3.6.2 显示记录 1. 用菜单方式浏览记录
【例3-16】 以“浏览”方式显示学生表xs中的记录。 (1)打开学生表xs。 (2)打开“显示”菜单,选择“浏览”命令。
Visual FoxPro程序设计教程VFP 第3章
3.1 建立、修改和删除数据库 3.2 打开和关闭数据库 3.3 创建数据库表 3.4 数据表的索引 3.5 指针定位查询 3.6 工作区与数据工作期 3.7 关联 本章要点
3.1 建立、修改和删除数据库
3.1.1 建立数据库
数据库名称实际是扩展名为dbc的文件名,与之 相关的还会自动建立一个扩展名为.dct的数据库备 注(memo)文件和一个扩展名为.dcx的数据库索 引文件。 在项目管理器中建立数据库; 通过“新建”对话框建立数据库; 使用命令建立数据库
删除一个不再使用数据库,一般可以在选项管理器中删除数据库, 也可以用命令删除数据库
要在删除数据库时同时删除表等对象,需要使用命令方式删除数据
库。删除数据库的命令是DELETE DATABASE,具体命令格式如下: DELETE DATABASE 数据库文件名︱?[DELETETABLES][ RECYCLE] 注意:要删除的数据库必须先关闭
3.3 创建数据库表
3.3.1 添加自由表
1.在项目管理器中添加 2.在数据库设计器中添加
先打开数据库设计器,然后可以使用下面如何一种方法进行添加:
单击数据库工具栏的“添加表”按钮。 执行【数据库】-【添加表】菜单。
右击数据库设计器,在出现的快捷菜单中选择“添加表”。
3.用命令添加
ADD TABLE 自由表名
3.2 打开和关闭数据库
在数据库中建立表或使用数据库中的表时,都必须先打开数据库, 与建立数据库类似,常用的打开数据库的方式也有三种:
在项目管理器中打开数据库;
通过“打开”对话框打开数据库;
使用命令打开数据库
OPEN DATABASE [文件名|?][EXCLUSIVE | SHARED] [NOUPDATE]
VFP程序设计第三章
页 返 ―假”: .f.下.F. .n. .N.
回
计算机教研室
4.日期型常量——用CTOD()或{}来表示 例:“1998年10月15日”可表示为:
ctod(―03/10/06‖)或{^2006/03/10} 不能写成
06/03/10或06-03-10
下 页
返 回
计算机教研室
§3.3 变量
变量 在程序执行过程中其值随时可以发生变化的数据称为变 量 变量的三种基本属性:名称、类型、值 变量名的构成原则: ①由字母、数字、下划线组成,但必须以字母、汉字开 头 ②长度不超过10个字符 ③不与FoxPro的保留名(命令、函数名等)相同
③若为日期型数据则按日期先后次序比较,后者为大 例:? {^1990-08-12}> {^1998-08-12} ④若为汉字则按其机内码的大小进行比较
下 页
显示输出.F.
返 回
计算机教研室
4日期运算符和表达式
只有两个:+和例: 在set date to ymd下
? ctod(―99/02/12‖)+20
一维数组A:a ( 1 ),a ( 2 ),a ( 3 ),. . .,a ( n ) 二维数组B:
下 页 返 回
计算机教研室
1数组的定义 格式:DIMENSION <数组名1> (下标1 [ ,下标2 ] )
[ , <数组名2> (下标1 [ ,下标2 ] )……]
功能:定义一个或多个数组中下标变量的个数。
? ctod(―99/05/05‖) -ctod(―99/04/20‖)
显示:99/03/04
显示:15
下 页
返 回
计算机教研室
程序设计语言VF第3章
3.2 数据库的创建及基本操作
数据库的设计过程:
(1)明确设计目的 (2)确定需要的表 (3)确定表中需要的字段 (4)确定表间关系 (5)优化设计
3.2 数据库的创建及基本操作
3.2.2 数据库的创建
(1)在项目管理器中建立数据库
(2)命令方式 建立数据库的命令是CREATE DATABASE命令,其语法格式如下: 格式:CREATE DATABASE <数据库名>
&&显示从当前记录开始的6条
记录,且成绩小于85。
3.4 数据表的操作
• VFP中常用的命令子句
3.WHILE子句 格式:WHILE <条件> 功能:也用于指明进行操作的条件。当遇到第一个不满足条件的记录时,
命令即停止。 例如:LIST NEXT 6 WHILE 成绩<85
3.4 数据表的操作
• VFP中常用的命令子句
1.数据表的统计 (2)求和命令 格式:SUM [<数值表达式列表>] [<记录范围>] [FOR<条件1>] [WHILE<条件 2>] [TO <内存变量列表> ] [TO ARRAY <数组名>] 功能:对当前数据表中满足条件的记录根据指定的数值型字段表达式按列求和。 (3)求平均值命令 格式:AVERAGE [<数值表达式列表>] [<记录范围>] [FOR<条件1>] [WHILE<条件2>] [TO <内存变量列表> ] [TO ARRAY <数组名>] 功能:对当前数据表中满足条件的记录按指定的数值型字段求平均值。
3.5.4 删除记录
VFP程序设计基础
第三章程序设计基础一、知识点:1、VFP命令的两种执行方式:交互方式和程序方式。
2、程序与程序文件1)程序:完成某项指定的任务而须执行的命令序列。
2)程序文件:以文件的形式存储在磁盘上的命令序列。
3、结构化程序设计的三种基本结构.1)顺序结构:简单的输入语句(如INPUT、ACCEPT、WAIT)。
赋值语句(=、STORE、REPLACE、SCA TER、GA THER)。
简单的输出语句(?、??)。
辅助语句(CLEAR、SUSPEND、CONTINUE、CANCEL、NOTE | *、&&)。
环境设置语句(如:、SET TALK ON/OFF 等)2)选择结构(IF~ENDIF、IF~ELSE~ENDIF、DO CASE~ENDCASE)3)循环结构(DO WHILE~[loop]~[exit]~ENDDO、SCAN~ENDSCAN、FOR~ENDFOR)4、多种结构嵌套的原则:只能包含,不能交叉。
5、子程序:相对与主程序而言的一个独立的程序文件,其建立方法与建立程序文件的法相同。
子程序的调用与返回:调用:DO<文件名>[WITH<参数列表>]返回:RETURN[TO MASTER][<表达式>]6、过程与过程文件1)过程:以PROCEDURE<过程名>开头,以ENDPROC结尾的子程序段。
2)过程文件:由若干个过程或自定义函数组成,以文件形式保存在外存的.prg文件;使用时要打开该文件,然后选择其中的过程或函数调用,不用时要关闭。
3)过程文件的打开:SET PROCEDURE TO <过程文件名>4)过程文件的关闭:SET PROCEDURE TO 或CLOSE PROCEDURE7、参数的传递及作用域1)利用内存变量的属性传递参数内存变量的属性小结2)利用DO <文件名> WITH <参数表达式列表>传递参数传递参数命令格式:DO <文件名> WITH <参数表达式列表>接收参数命令格式:PARAMETER<变量列表>参数传递与接收的规则:(1)接收参数的命令必须出现在被调用程序(子程序)中的第一行;(2)当WITH <参数表达式列表>中是简单内存变量列表时,称为传址或引用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机教研室
内存变量的恢复 格式:restore from <内存变量文件名. [additive] 注意: ①无additive,先清除内存中已有的内存变量,再 恢复 ②有additive,不清除内存中现有的内存变量,把 文件中的变量追加到内存中,当文件中有与内存中同名变 量时,用文件中的变量值替换已在内存的同名内存变量的 值。
数组bst排列顺序为:
bst(1,1),bst(1,2),bst(1,3),bst(1,4),bst(1,5)
bst(2,1),bst(2,2),bst(2,3),bst(2,4),bst(2,5)
下 页
返 回
2数组的赋值
计算机教研室
格式1:S TORE <表达式> TO <数组名表> |<数组元素表> 格式2:<数组名>|< 数组元素> = <表达式> 功能:将表达式的值赋给数组或数组元素。 说明:格式1可以将表达式的值同时赋给多个数组或数组 元素,而格式2只能赋给一个数组或数组元素。若语句中 使用数组名,则表示将表达式的值赋给数组中的每一个下 标变量。 注意:若定义的数组尚未赋值时,系统将给每个数组元素 赋以初值.F.
1算术运算符和表达式
()、+和-、*和/(乘除)、**或^(乘方)、%
下 页 返 回
计算机教研室
2字符串运算符和表达式
只有两个:+和str1+str2:将字符串str1的尾部与字符串str2的首部连接起 来构成一个新的字符串。 Str1-str2:将两个字符串首尾相连构成新的字符串时,str1 尾部的空格移到新字符串的尾部。
2.数值型(Numeric),简称N型 3..逻辑型(Logic),简称L型 逻辑真——.t. .T.或.y. .Y. 逻辑假——.f. .F.或.n. .N. 注意: 其宽度系统固定为一个字符。 页 下
返 回
计算机教研室
4.日期型与日期时间型(Date,Date Time),简称D与T型 格式:美式——mm/dd/yy (默认) 欧式——dd/mm/yy 中国式——yy/mm/dd 改变格式的命令:set date to [ymd/mdy/dmy] 注意:其中的“/‖也可以用“-‖代替,日期型的宽度 系统固定为8个字符。
下 页 返 回
计算机教研室
格式2:?|?? <内存变量名表>
注意:
Ⅰ、若“姓名”是字段变量名,用姓名=―张三”不 能把它放到数据库中,而需要修改记录则用 Replace命令。 Ⅱ、当一个内存变量名与当前打开的数据库中的字 段变量名同名时,要选用内存变量,可在内存变量 名前加前缀m.或m。
下 页 返 回
下 页 返 回
计算机教研室
一、字段变量(N、C、D、L、M、G型) 实际上是指二维表的列,即数据表的字段 二、内存变量(N、C、D、L和S(屏幕)型) 独立于数据库和表之外的变量,用于存放临时数据和中间 结果。 1内存变量的命名规则 2内存变量的赋值 格式1:store <表达式>
to <内存变量名表>
§3.3 常用函数
二、字符函数
1宏替换函数 &字符型内存变量
例:ab=12345
计算机教研室
x=―ab‖
? &x 2求字符串的长度 LEN(字符串) 例:x=―computer‖ ? LEN(x) 显示: 8
3求一个字符串在另一个字符串中的起始位置
下 页
返 回
计算机教研室
5逻辑运算符和表达式
.NOT.
.AND.
.OR.
? .not.(5<10).and.‖Electractic-Mail‖<―electractic-mail‖
显示输出.F.
下 页
返 回
一、数值函数 计算机教研室 1取绝对值函数 ABS(数值表达式) 2取整函数 INT(数值表达式) 3求平方根函数 SQRT(数值表达式) 4求最大值函数 MAX(表达式1,…,表达式n) 5求最小值函数 MIN(表达式1,…,表达式n) 6求余数函数 MOD(表达式1,表达式2) 例:? MOD(10,-3) 显示: -2 注意: 余数的符号与除数的符号相同;余数的绝对值比除 数的绝对值小。 7四舍五入函数 ROUND(表达式1,表达式2) 例: ? ROUND(3.141519,3) 显示: 3.142 返 回 下 页 ? ROUND(15/7,4) 显示: 2.1429
下 页 返 回
计算机教研室
四、系统变量 以下划线开头,它是全局变量(Public)由Foxpro系统定义, 通常由Foxpro系统使用
下 页
返 回
计算机教研室
§3.3 运算符与表达式 表达式是指用运算符将常量、变量和函数连接起来的有 意义的式子
运算符和表达式
FOXPRO共有5类运算符,相应有5类表达式
下 页 返 回
计算机教研室
在命令set exact on下均显示输出.F. ―= =‖是精确比较,不管是set exact on 还是set exact off 状态,两个字符串必须一模一样才为.T. str1 $ str2:字符串str1包含在字符串str2中,为.T.,否 则为.F. ? ―com‖$‖telecommunition‖ 显示输出.T. ? ―Pentium586‖$‖pentium586‖ 显示输出.F.
下 页 返 回
计算机教研室
常量
§3.2 常量
在程序执行过程中其值保持不变的数据称为常量
1.字符型常量——用“”或‘’ 或[]括起来的一 串字符。 “This is a computer‖、 ’88.88’、[数据库系统]
2.数值型常量
3.逻辑型常量——两边有小圆点
“真”: .t. .T. .y. .Y.
页 返 ―假”: .f.下.F. .n. .N.
回
计算机教研室
4.日期型常量——用CTOD()或{}来表示 例:“1998年10月15日”可表示为:
ctod(―03/10/06‖)或{^2006/03/10} 不能写成
06/03/10或06-03-10
下 页
返 回
计算机教研室
§3.3 变量
变量 在程序执行过程中其值随时可以发生变化的数据称为变 量 变量的三种基本属性:名称、类型、值 变量名的构成原则: ①由字母、数字、下划线组成,但必须以字母、汉字开 头 ②长度不超过10个字符 ③不与FoxPro的保留名(命令、函数名等)相同
计算机教研室
第三章VFP6.0的数据基础主要内容
数据类型 常量 变量 运算符与表达式 常用函数
计算机教研室
§3.1 数据类型
VFP中主要有下列类型数据
1.字符型(Character) ,简称C型
由英文字母、数字等ASCⅡ和汉字组成,最大长度 为254个字符。使用时必须给定界符。
③若为日期型数据则按日期先后次序比较,后者为大 例:? {^1990-08-12}> {^1998-08-12} ④若为汉字则按其机内码的大小进行比较
下 页
显示输出.F.
返 回
计算机教研室
4日期运算符和表达式
只有两个:+和例: 在set date to ymd下
? ctod(―99/02/12‖)+20
说明:语句中的下标是指所定义数组中下标的上限值,下 标可以是常量、变量或表达式,但必须大于0,如果是非 整数,则系统自动取整。
下 页
返 回
计算机教研室
例如:dimension ast(5),bst(2,5) 数组ast排列顺序为:ast(1),ast(2),ast(3),ast(4),ast(5)
下 页 返 回
计算机教研室
5.备注型(Memory) ,简称M型 ——它是用来存放记录中较大的文本,以弥补 C型数据不能超过254个字符的缺陷。其在数据库结 构中宽度固定为4个字节,用于存放指向具体数据的 指针。(具体数据在.FPT文件中) 6.通用型(General) ,简称G型
是指在数据表中引如的OLE(对象链接与嵌入)对象 其在数据库结构中宽度固定为4个字节,用于存放指 向具体数据的指针。(具体数据在.FPT文件中)
? ctod(―99/05/05‖) -ctod(―99/04/20‖)
显示:99/03/04
显示:15
下 页
返 回
计算机教研室
运算符优先级
高 括号()
算术运算符 **或^ *、/ +、-
字符运算符 +、关系运算符 $ 其它关系运算符
低 逻辑运算符 .not. .and. .or.
一维数组A:a ( 1 ),a ( 2 ),a ( 3 ),. . .,a ( n ) 二维数组B:
下 页 返 回
计算机教研室
1数组的定义 格式:DIMENSION <数组名1> (下标1 [ ,下标2 ] )
[ , <数组名2> (下标1 [ ,下标2 ] )……]
功能:定义一个或多个数组中下标变量的个数。
下 页
返 回
例:clear memo
计算机教研室
A=―file‖
B=12.345
save to f4
AA={^1998/03/19}
Disp memo
restore from file2
disp memo && 内存中原有变量a,aa,b已删除
restore from f3
disp memo && 文件file2中变量ab,ac,ad已删除
计算机教研室
4内存变量的保存与恢复 格式:save to <内存变量文件名>[all like/except <通配符>] 例: store ―12345‖ to ab,ac,bc store 12345 to ad,bd,be e=―right‖ display memory save to f1 && ab,ac,ad,bc,bd,be,e 存入文件f1 save all like a? To file2 && ab,ac,ad 存入文件file2 save all except a* to f3 && bc,bd,be,e 存入文件f3