2012-1VFP第9部分(数据库及表的基本操作)
201220132VFP数据库及表的基本操作
重庆工商大学计算机学院大学计算机教研部
〖温馨提示〗 在该对话框 中可以只选 择姓名字段, 或只选择管 理员编号, 为了避免错 误的选择管 理员,最好 两个字段都 选择。
上一页 下一页
重庆工商大学计算机学院大学计算机教研部
表单执行后,
①选择一用户名,输入密码,如果密码正确(与数 据表中的密码字段对应),单击“进入系统”按钮, 可以调用系统主菜单“图书管理系统菜 单.MPR”(该菜单的设计在第8章完成);
例1:(教材P108) 【例4-10】建立如表4.4所示的 数据表:管理员.dbf,设计如图所示的系统图书 管理系统的登录表单。将表单中的组合框与数据 表中的用户名字段绑定。
上一页
下一页
重庆工商大学计算机学院大学计算机教研部
在表单空白处单击 右键,在快捷菜单中选 择“数据环境”,弹出 “打开”对话框,选择 管理员.dbf,单击“确 定”按钮,在弹出的 “添加表或视图”对话 框中可以选择并添加多 个数据表,在这里我们 选择“关闭”按钮,则 数据表成功添加到表单 中,如图所示。
②如果密码不正确,最多允许输入3次,每次给出 错误提示,如果3次均不正确则直接退出系统,返 回操作系统; ③单击“退出”按钮,可以退出本系统,返回操作 系统。
(教科书P110-111事件代码)
下一页
上一页
重庆工商大学计算机学院大学计算机教研部
通常情况下, ①文本框、组合框等可以作为输入 类的控件; ②标签、文本框、编辑框、列表框、 表格、图像、Active绑定控件等作为输 出类的控件; ③命令按钮、命令按钮组、复选框、 选项按钮组、计时器可以作为控制类 的控件。
第十讲
要点:
数据库数据表的基本操作
1.掌握表中的数据类型
VFP表的基本操作
属性(列)
2.1.2表结构的建立
1.菜单方式 2.命令方式 3.项目方式
字段的基本属性
1. 字段名(Field Name),每一个字段必须取一个名字, 称为“字段名”,用以在表中标志该字段。以字母或汉字开 头,可包括字母、汉字、数字和下划线,长度不超过10。
2.字段的数据类型(Type),表中每个字段都有特定的数 据类型。 3.字段宽度(Width),指该字段所能容纳数据的最大的字 节数,字段的宽度必须能足够容纳可能的最长的数据信息。 除字符型、数值型、浮动型字段由用户根据需要设定字段宽 度外,其它类型均由系统规定宽度。
2.2 表的打开与关闭
2.2.1 打开表 【命令】USE [<文件名>]
【功能】打开表文件,当USE后不加文件名时, 为关闭已打开的表。
2.3 表的显示
浏览窗口的打开: 方法一:打开表,选定“显示”菜单的“浏览”命令
方法二:USE<表名> BROWSE
一窗两区:将窗口分割器向右拖动
BROWSE命令
小数位数(Decimal),对于数值型、浮点型和双精 度型的字段,还可以指定其小数的位数。小数位和 正负号都须在字段宽度中占一位。
空值(NULL)支持,空值是用来指示记录中的一个字 段“没有值”的标志。空值表示没有任何值或没有 确定值,空值不同于数值0、空字符串或逻辑“假”。
2.1.3 表数据的录入
则需要另外删除.FPT文件。
2.6记录指针的定位
1.表中的每个记录都有一个编号,称为记录号。对于 打开的表,会被分配一个记录指针。记录指针指向 的记录称为当前记录。
2.定位记录就是移动记录指针,使指针指向符合条件 的记录过程。使用RECNO()函数可以获得当前记录 的记录号。
VFP表的基本操作
VFP表的基本操作第一课3月8日表的基本操作visual foxpro 是计算机优秀的数据库管理软件之一,采用了可视化的、面向对象的程序设计方法。
表的种类:自由表、数据库表表的基本操作:P11、创建项目2、将数据库添加到项目中13、表结构的修改[改字段名称]9、将自由表添加到数据库中10、数据库中移去表1.索引:在表设计器中建立索引;使用命令建立索引并保存在文本文件中;索引类型1、主索引在指定字段或表达式中不允许出现重复值的索引。
这样索引可以起到主关键字的作用。
一个表只能有一个主关键字,所以一个表只能有一个主索引。
2、候选索引候选索引和主索引具有相同的特性,即要求字段值唯一性。
建立候选索引的字段可以看成是候选关键字,所以一个表可以建立多个候选索引。
3、唯一索引索引项唯一,不是字段唯一。
指在使用相应索引时,重复的索引字段值只有唯一一个值(同一字段值的首次出现)出现在索引项中。
4、普通索引允许出现重复字段和索引项。
Ⅰ、在表设计器中建立索引例题:P28 一Ⅱ、用命令建立索引INDEX index on 索引表达式tag 索引名[OF 索引文件名][FOR 条件表达式] [ASC|DESC][UNIQUE|CANDIDA TE]默认的索引文件名与表同名,否则可以自行指定For 条件表达式给出索引条件,即只索引满足条件的记录;ASCENDING或DESCENDING 指明建立升或降序索引,默认升序;UNIQUE 指明建立唯一索引;CANDIDA TE 指明建立候选索引;删除索引delete TAG 索引名Index on 表达式TAG 索引名# 普通索引Index on 表达式TAG 索引名unique # 唯一索引Index on 表达式TAG 索引名candidate #候选索引可用alter table 建立主索引Alter table 表名add primary key 表达式tag 索引名2.为表格中的字段设置有效性规则、默认值、出错信息的设置:p28 一在表设计器中设置;使用SQL语句设置;Alter table 表名alter 字段名set check 规则error “出错信息”Alter table 表名alter 字段名set default 默认值1、常量类型数值型常量N整型常量I货币型常量Y字符型常量 C日期型常量 D 严格的日期格式:{^yyyy/mm/dd}逻辑型常量.L T.\.F.;.Y.\.N备注型M2、关系表达式运算符==和$仅适用于字符型数据.其他运算符适用于任何类型的数据,但除了日期型和日期时间型数据,数值型和货币型数据可以比较外,其它情况下,前后两个运算对象的数据类型要一致.1、数值型、货币型数据比较按数值大小比较2、日期、日期时间型数据比较越早的日期或时间越小,越晚的日期或日期越大{^2003-02-13}>{^2000-01-30}3、子串包含测试关系表达式”<字符型表达式1>$<字符型表达式2>”为子串包含测试,如果左字符串是右字符串的一个子字符串,则为真,否则为假.”计算机”$”计算机基础”,”计算机基础”$”计算机”,”计算机”$”计算机基础”>”计算机基础”$”计算机”.T. .F..T.3.对表进行初步操作P6 一用sql语句完成表的选择(SELE)、更新(UPDATE)、删除(DELETE)、插入(INSERT)Sele 字段名/表达式from 表名where 条件表达式update 表名set 字段名= 表达式where 条件表达式delete from 表名where 条件表达式insert into 表名(字段名1,字段名N)value(值1,值N)insert into 表名from array 数组名逻辑删除:物理删除:再上PACK命令即永久删除。
VFP第9部分(查询统计及扫描循环)
例:在student.dbf中统计江苏籍学
生的人数。
(实验14 任务1(1) )
方法一: clear use student store 0 to rs,zf do while not eof() if 籍贯="江苏" rs=rs+1 endif skip enddo ? rs use return
use jf
index on 性别 tag xb
total on 性别 to hz fields 积分 use hz browse
学号 姓名 性别 年龄 积分
001 张三 男 30 100
002
李四 女
25
30
例:现有学生成绩表XSCJ.DBF,表结构及部分记录如下: XSCJ.DBF表结构:学号(C/10),课程号(C/6),成绩(N/7/1); XSCJ.DBF的部分记录: (实验14 任务2(1) ) 学号 课程号 成绩 S01 CA01 88 S01 CA02 65 S02 CA01 72 S02 CA02 51 S01 CA03 34 . . . . . . 设该程序的文件名为cx4_1.PRG.应用分类求和(TOTAL)与 统计(COUNT)命令,根据用户输入的学号,计算对应学号 的学生的平均成绩。屏幕显示格式如下: 学生的学号 平均成绩 最高成绩 最低成绩 XXXXXXXXXX XXXXX XXXXX XXXXX
3.数值达式清单>] [to <内 存变量列表> ]……
4.多功能计算命令
命令格式:
calculate <表达式表> to <内存 变量表> …… C、N、D
CNT()、SUM(<数值表达式>)、AVG(< 数值表达式>) 、MAX(<表达式>) 、 MIN(<表达式>)
vfp操作步骤说明
《数据库技术与应用》综合练习——图书管理系统设计实验要求:(1)熟练掌握项目管理器、数据库、表、查询、视图、表单、菜单和应用程序等内容 的应用;(2)学生独立完成,作为平时成绩的一部分;完成后请上传到ftp 服务器上(上传帐 号和密码由各自的任课教师提供)【系统功能模块介绍】图1 系统功能模块图【系统功能分析】1.系统登录:通过密码验证后进入图书管理系统主界面,否则不能运行图书管理系统,保证系统的安全性。
2.数据信息管理:主要是图书信息管理,包括记录的浏览。
3.借阅管理:主要实现图书的借出和归还操作。
4.统计查询:统计过期未还图书的情况,以及师生人数。
5.打印输出:读者借阅明细的打印输出功能实现。
6.退出系统:退出图书管理系统。
【数据库表结构】【实验步骤】1.启动VFP,将“d:\vfp\综合案例\tsgl”文件夹设置为默认的工作文件夹。
2.素材中已提供了项目、数据库、表、视图、数据库表已设置了字段属性、表属性以及索引等,打开该文件夹中的项目文件“tsgl.pjx”。
3.对照图2建立tsk数据库中表与表之间的关系。
图2 数据库表之间的关系4.建立类库文件mylib.vcx。
应用程序的很多界面都要用到“退出”命令按钮,为了提高效率,在类设计器中自定义命令按钮类cmdexit,并保存在类库文件mylib.vcx中,如图3所示。
按钮中显示的图片来自素材中的 exit.ico文件,设置命令按钮的click事件代码为:thisform.release。
图3用户自定义类创建界面5.创建查询利用查询设计器创建查询,文件名存为chaxun1,各界面截图如下:查询设计器截图——输出项查询设计器截图——联接条件查询设计器截图——排序依据6.创建表单ⅰ.系统引导界面(start.scx)图4 系统引导封面系统引导封面(图4)是运行系统后出现的欢迎界面。
显示10秒后进入系统登录界面。
设计步骤如下:(1)新建表单并以文件名start.scx保存。
2012-1VFP第9部分(数据库及表的基本操作)
记录的维护
记录的增加
(见教科书123页)
命令格式: append [blank]
〘例5-3〙在“图书信息管理”项目中建立如图所 示的管理读者信息的表单,保存为“读者信息维 护.scx”,单击“添加读者”按钮,可以通过表单 录入新的读者信息。
“添加读者”命令按钮的Click事件代码如下:
choice=messagebox("确认添加新读者?
(教科书P127)
recall [范围] [for 条件1]
[while 条件2]
3)物理删除表中的记录 (教科书P127)
pack
4)记录清除命令
(教科书P128)
zap
?BOF(),EOF(),RECNO()
与删除相关的命令:(教科书P128)
set deleted on/off
功能:将逻辑删除的记录隐藏或 显示。on为隐藏,off为显示
命令格式:SQL命令更新记录
update <表名> set…
(教科书P130) 例如,在读者表中,将编号为“d0008”读者的联 系电话改为027-3219666。 执行如下命令: UPDATE 读者 SET 联系电话="027-3219666" WHERE 读者编号="d0008"
例:计算cj.dbf的总分和平均分
将数组的数据依次传送到当前记录,以替
换相应字段值。
〘例5-6〙建立一个表单如图所示布局相应的 控件。单击“记录到数组”按钮能将读者表的 第一条记录的读者编号、读者姓名、办证日期 分别显示在三个文本框中。单击“数组到记录” 按钮能用三个文本框的内容改写读者表第一条 记录的读者编号、读者姓名、办证日期。
VFP第9章
2.下拉式菜单的设计。
3.表单顶层菜单的设计。 4.快捷菜单的设计。9.1ຫໍສະໝຸດ Visual FoxPro系统菜单
9.1.1 菜单结构
菜单标题 菜单 菜单项
菜单栏
9.1 Visual FoxPro系统菜单
9.1.2 设置Visual FoxPro系统菜单
SET SYSMENU命令可以在命令窗口、程序窗口、表单或 过程窗口中应用。
9.1 Visual FoxPro系统菜单
9.1.2 设置Visual FoxPro系统菜单 (5)将系统菜单恢复为默认设置。
SET SYSMENU TO DEFAULT
(6)将当前菜单系统指定为默认设置。 SET SYSMENU SAVE (7)将默认配置恢复成Visual FoxPro系统菜单的标 准配置。 SET SYSMENU NOSAVE
9.2
下拉式菜单的设计
9.2.1 菜单设计器的使用 1. 启动菜单设计器
9.2
下拉式菜单的设计
9.2.1 菜单设计器的使用 2. 添加菜单项
9.2
下拉式菜单的设计
9.2.1 菜单设计器的使用 2. 添加菜单项
(1)子菜单。
9.2
下拉式菜单的设计
9.2.1 菜单设计器的使用 2. 添加菜单项
(2)命令。
(1)允许程序执行时访问系统菜单。 SET SYSMENU ON
(2)禁止程序执行时访问系统菜单。
SET SYSMENU OFF
9.1 Visual FoxPro系统菜单
9.1.2 设置Visual FoxPro系统菜单 (3)Visual FoxPro系统菜单可见,可以访问菜单栏 ,但菜单项是可用还是禁止则取决于不同的命令。 SET SYSMENU AUTOMATIC (4)重新配置系统菜单,以条形菜单项内部名表列 出可用的子菜单或以内部名字列出可用的弹出式子菜 单。 SET SYSMENU TO _MFILE,_MWINDOW 【功能】设置Visual FoxPro主菜单栏中只有“ 文件”和“窗口”两个弹出式菜单。
2012年全国计算机等级考试大纲汇总
二、程序设计基础1. 程序设计方法与风格。
2. 结构化程序设计。
3. 面向对象白勺程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础1. 软件工程基本概念,软件生命周戎概念,软件工具与软件开发环境。
2. 结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3. 结构化设计方法,总体设计与详细设计。
4. 软件测试白勺方法,白盒测试与黑盒测试,测试用例设计,软件测试白勺实施,单元测试、集成测试和系统测试。
5. 程序白勺调试,静态调试与动态调试。
四、数据库设计基础1. 数据库白勺基本概念:数据库,数据库管理系统,数据库系统。
2. 数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。
3. 关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4. 数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计白勺相关策略。
考试方式1、公共基础白勺考试方式为笔试,与C语言(VisualBASIC、Visual FoxPro、Java、Ac cess、Visual C++)白勺笔试部分合为一张试卷。
公共基础部分占全卷白勺30分。
2、公共基础知识有10道选择题和5道填空题。
《C语言程序设计》◆基本要求1.熟悉 Visual C++ 6.0 集成开发环境。
2.掌握结构化程序设计白勺方法,具有良好白勺程序设计风格。
3.掌握程序设计中简单白勺数据结构和算法并能阅读简单白勺程序。
4.在 Visual C++ 6.0 集成环境下,能够编写简单白勺C程序,并具有基本白勺纠错和调试程序白勺能力◆考试内容一、C语言程序白勺结构1.程序白勺构成,main函数和其他函数。
2.头文件,数据说明,函数白勺开始和结束标志以及程序中白勺注释。
3.源程序白勺书写格式。
4.C语言白勺风格。
二、数据类型及其运算1.C白勺数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。
2.C运算符白勺种类、运算优先级和结合性。
VFP数据库及其操作
3.3.2 自由表的建立
1. 定义表结构 利用“表设计器” 创建表的结构。 打开表设计器有以下几种方法。
(1)菜单:选择“文件|新建”命令。
(2)命令:Create <表文件名>
(3)项目管理器:在“数据”选项卡中选择“自由表”,单 击“新建”命令。
3. 删除数据库 (1)项目管理器:选定要删除的数据库,单击“移去”按钮, 在对话框中选择“移去”命令,将从项目中移去选定的库文件; 选择“删除”命令,则将选定的库文件从磁盘上删除。
(2)命令:DELETE DATABABE <数据库文件名>
3.3 创建数据表
1. 数据表和数据库 表(Table)是 处理数据和建立关系型数据库及应用程序
的基本元素。数据库(DATABASE)是表的集合。 2. 数据表的类型 (1)自由表:不属于任何数据库而独立存在的表 (2)数据库表:属于某一数据库的表
使用项目管理器中的“移去”/“添加”命令,可以在数据 库表和自由表之间相互转换。 3. 数据表的结构 形式上是一组相关联的数据按行和列排列 的二维表格,用来描述一个实体。表中的每一列称为一个字段, 每一行称为一条记录。
① 打开数据库文件
OPEN DATABASE [<数据库文件名>]
② 打开数据库文件所对应的数据库设计器
MODIFY DATABASE [<数据库文件名>]
3.2.3 数据库的基本操作
2.关闭数据库 (1)项目管理器:选定要关闭的数据库,单击“关闭”按钮。
(2)命令:CLOSE DATABASES
3.3.1 基本概念
VFP数据库和表的操作
自由表的创建方法:一、表向导1、在项目管理器中,“数据”选择自由表,单击“新建”,选择“表向导”;2、在“常用”工具栏,点“新建”或是“文件”菜单“新建”,选择“表”后,单击“向导”;3、“工具”菜单中“向导”中的“表”二、表设计器创建自由表1、在项目管理器中,自由表→新建→新建表2、在“常用”工具栏,点“新建”或是“文件”菜单“新建”,选择“表”后,单击“新建文件”;三、用命令创建表1、CREATE<表文件名>命令功能:打开表设计器新建一个VFP表。
例如:在D盘XS文件夹中新建ST表CREATE D:\XS\ST2、用SQL语言创建,例如:在D盘XS文件夹中新建ST表,包含字段姓名,性别CREATR DBF D:\XS\ST(姓名C(8),性别C(2))3、复制表COPY TO <表文件名>[FIELDS 字段列表] [FOR 条件]命令功能:复制当前表并创建一个新表。
例如:复制D盘XS文件夹中的ST表到同目录下的LX.DBFUSE D:\XS\STCOPY TO D:\XS\LX如果只复制姓名:USE D:\XS\STCOPY TO D:\XS\LX FIELDS 姓名4、复制表结构COPY STRUCTURE TO <表文件名>[FIELDS 字段列表]命令功能:复制当前表结构并创建一个新表。
例如:复制D盘XS文件夹中的ST表的表结构到同目录下的LX.DBFUSE D:\XS\STCOPY STRUCTURE TO D:\XS\LX如果复制结构中的姓名字段USE D:\XS\STCOPY STRUCTURE TO D:\XS\LX FIELDS 姓名创建数据库一、在项目管理器中创建二、菜单创建三、命令CREATE DATABASE<数据库名>打开和关闭数据库:1、打开数据库①在项目管理器重打开②菜单打开③使用命令OPEN DATABASE<数据库名>2、关闭数据库①命令:关闭当前数据库CLOSE DATABASE关闭所有文件CLOSE ALL②项目管理器设置当前数据库:1、使用工具栏设置当前数据库2、命令设置当前数据库SET DATABASE TO [数据库名]打开数据库设计器:1、从项目管理器打开2、使用菜单3、使用命令MODIFY DATABASE [数据库名]删除数据库:1、使用命令删除:DELETE DATABASE<数据库名|?> 2、项目管理器删除创建数据库表:1使用表向导2、使用表设计器创建数据库3、在数据库设计器里添加表4、使用命令创建数据库表打开设置的数据库,用创建表命令数据库表与自由表的转换:1、在项目管理里中将自由表添加到数据库中2、使用数据库设计器添加3、命令:ADD TABLE <自由表名|?>,将自由表添加到当前数据库移除数据库中的表:在项目管理器重把数据库中的表移除使用命令移除数据库中的表:REMOVE TABLE <数据库表名|?>,将数据库表移出当前数据库。
Visual FoxPro 9.0 基础教程第9章 使用表单控件
&&获得当前按钮编号 &&分别处理
&&设置当前工作区 &&获得当前表的字段个数 &&设置表格控件列数 &&设置表格控件数据源 &&刷新表格
(5) TextBox(文本框)控件
常用事件:
GetFocus LostFocus InteractiveChange Valid
常用方法:
SetFocus:用来将焦点移到指定的文本框控件上, 该方法可用来触发GetFocus事件。
(6) Command Button(命令按钮)控件
鼠标左键双击命令按钮启动代码编辑器,必须编写命令按 钮Click事件代码,才能对命令按钮Click事件进行响应。
控制类控件 ✓Command Botton控件 ✓Command Group控件 ✓Option Group控件 ✓Timer控件 容器类控件
✓Grid控件 ✓Page Frame控件 ✓Contanier控件 其他控件
✓Hyperlink控件 ✓ActiveX绑定控件
设计“说明”表单
(1) Labelp(命令组)控件
序号 属性
属性功能
1 ButtonCount 按钮数目
2 Value
指定命令组当前选定状
态。可为数值或字符型。若为数值n,表示
第n个按钮被选定。
常用事件:Click事件
命令按钮组的Click事件
第2章_数据库及其表的操作.
• 如,在当前目录下利用命令建立一个名为xsgl的数据库, 并进行一些基本维护操作。 • CREATE DATABASE xsgl &&在当前目录下建立名为 xsgl的空数据库 • CLOSE DATABASE &&把刚建立的数据库关闭 • OPEN DATABASE xsgl &&打开数据库xsgl • MODIFY DATABASE xsgl &&编辑修改数据库xsgl, 系统会打开数据库设计器 • CLOSE DATABASE &&把数据库关闭 • DELETE DATABASE xsgl &&删除数据库xsgl,系统 打开询问框以确定是否删除 • ⑵利用菜单打开或关闭数据库 • 除了利用命令之外,还可以利用“文件”菜单中的“打 开”或“关闭”命令来打开或关闭数据库。
图2-1 “新建”对话框
图2-2 “创建”对话框
• 2.利用项目管理器创建数据库 • 若要使用项目管理器,首先要先建立项目文件,方法如 下: • 在“文件”菜单中选择“新建”命令,弹出“新建”对 话框,如图2-1所示。在对话框中的“文件类型”中选 择“项目”选项,然后单击“新建文件”按钮,此时系 统会弹出“创建”对话框,如图2-2所示。在弹出的 “创建”对话框中输入项目的文件名,单击“保存”按 钮,就建立了一个新的项目,系统同时打开项目管理器。 若系统中已经有项目文件存在,直接打开项目文件,也 就打开了项目管理器。
• 2.利用数据库设计器维护数据库 • 数据库是一种工作环境,它存储了若干个数据表。可以 利用数据库设计器中的工具栏对数据库中的数据表进行 维护,如向数据库中添加表、在数据库中新建表、把数 据库中的表移去或删除等,在此只对添加表和移去/删 除表进行简单介绍。 • ⑴向数据库中添加表 • 以数据库xsgl中添加表为例。在图2-5的数据库设计器中 右击鼠标,在弹出的快捷菜单中选择“添加”命令,或 单击数据库设计器工具栏中的“添加”按钮,就会打开 “打开”对话框,如图2-6所示,在对话框中选择要添 加的数据表xsda(一定是自由表,否则会提示错误), 然后单击“确定”按钮,就可以将数据表xsda添加到数 据库中xsgl中,如图2-7所示。
VFP表的基本操作
3、FOR <条件式>的用法 : (记忆) 、 对所有满足条件记录进行操作 4、WHILE<条件式>的用法 、 WHILE指从当前开始判断,一旦出现不满足条件 的记录即终止,不管后面是否还有满足条件的记录。 注:FOR和WHILE同时出现,后者优先 5、综合应用原则: 、 各选项间用一个空格
任务五、记录的编辑修改
1、编辑修改CHANGE、EDIT 、编辑修改 、 【格式】:CHANGE/EDIT [FIELDS<字段名表>][范围][条 件] 2、窗口浏览式修改 、窗口浏览式修改BROWSE 【格式】 :BROWSE [字段] [条件][FREEZE<字段>] FREEZE<字段>表示锁定该字段,光标只能上下移动, 不能左右移动 熟练掌握) 3、成批修改替换 熟练掌握 、成批修改替换REPLACE(熟练掌握 【格式】 :REPLACE <字段名1> WITH <表达式1>[, <字段名2> WITH <表达式2>……] [范围] [条件] 提问: 如何将所有工资高于2000的人奖金增加10%
3.条件定位 条件定位 【格式】LOCATE FOR <条件式> 【功能】将指针定位到满足条件的第一条记录上,要想定 位下一 条执行命令 CONTINUE 如: 想查找男同学 LOCATE FOR 性别=“男” DISP 显示第一个男同学 CONTINUE DISP 显示第二个男同学
任务四、记录的删除
1、作删除标记*(逻辑删除) 【格式】 :DELETE [范围] [条件] 2、对作删除标记的记录物理删除 【格式】 :PACK 注:只对打*的有用,不可恢复 3、如何恢复做删除标记的记录 【格式】 :RECALL [范围] [条件] 4、一次性删除所有记录(属物理删除) 格式:ZAP DELETE PACK 等效于:DELETE ALL 5、将删除记录陷藏起来 SET DELETE ON 隐藏打*号 的 SET DELETE OFF 显示出来
VFP的基本操作
258.00 10 08/19/96 上海电器厂
本产品属 改进型
1750.00 6 07/20/96 先锋电器公司
2.表的建立
•首先打开VFP,选择菜单栏中的“文件”,在其下
拉菜单中选中“新建”,随后会出现对话框:
单击 “表”和 “新建文 件”,然 后出现对 话框:
•以上操作等同于在命令框中输入
CREATE 表1,缺省扩展名为.DBF
个记录
此时g已变成大写 字母G,以后只 需双击此处便可
查看图标
2.2 备
和通用型字 段的输入一
注 样,首先将
型
备注的 “memo”
字 激活,在随
段 的
后弹出的对 话框中编辑 备注。
输
入
在此处用键盘 输入备注
备注输入完后,单击 “显示”菜单中的“浏
览”,回到数据库浏
览状态继续输入下一个 记录。操作过程如下:
删除记录
• 第一步:
逻辑删除 •第二步:彻底删
除。选择“表”菜 单中的“彻底删除”
方框变黑,表明 打上删除标记, 已逻辑删除
点击要删 除记录旁 的小方框
•最后在弹出的提示框中选择是否删除记录
2.5数据的修改
在任一窗口修改数据都 自动完成在两个窗口中 的同时修改
用鼠标移向屏幕 中的小黑框,点 中并向右拉动, 便可出现两个数
数据输入完后若要关 闭数据库则输入 ctrl+w,便可保存数 据并关闭数据库
可发现m已变成 大写的M,以后 只需双击此处便
可查看备注
2.3 数据库结构的修改
单击“显示”菜单中的 “表设计器”,便可进入表 结构设计状态,进行库结构 的修添改加字段: 单击一个字
段名,在选择“插入” 按钮,便可在此字段前 出现一个新字段,最后 选择“确定”便可在库 结构中增添一个字段。 具体操作如示:
vfp数据库
数据库作(18学时) 、表的基本操一、【教学目标】1. 理解并掌握数据库的创建2. 理解并掌握数据库表属性的设置3. 掌握数据库的操作二、【重点和难点】重点1. 数据库的操作。
2. 数据库表的操作。
3. 建立排序和索引。
自由表的操作。
4. 使用不同工作区表的操作。
难点1. 数据库表的操作。
2. 索引的建立和使用。
3. 数据完整性的设置。
三、【学法指导】1. 数据库和数据表的建立是本章基础。
2. 编辑表中的数据、记录修改与删除,表的索引等操作,是后续章节的基础。
3. 本章学习的要点是多做上机练习,熟练掌握数据库和数据表的操作。
四、【教学要点】本章主要介绍数据库、数据表的基本概念;数据库和数据表的建立、编辑表中的数据、记录修改与删除,表的索引等有关操作。
2.1 VFP数据库及其建立数据库管理系统是一种极为重要的程序设计语言,它与其他语言的主要差异在于它先天具备组织管理和高效率访问大批量数据的功能。
设计一个功能齐全、结构优化的数据库,是设计数据库管理系统必不可少的一个重要环节。
VFP中文版为我们提供两个功能强大的数据库设计工具——数据库向导和数据库设计器。
数据库向导能帮助初学者在很短的时间内设计出一个数据库。
而数据库设计器能设计出满足用户实际需要的较为复杂的数据库。
它们不仅能设计建立数据库,而且还提供了一套完善的数据库管理和维护功能。
2.1.1基本概念1.数据库的概念一定要注意,在VISUAL FOXPRO 中数据库与表是两个不同的概念,数据库文件是各项与数据库相关信息的汇能。
在建立数据库时,相应的数据库名称实际是扩展名为DBC的文件,与之相关的还会自动建立一个扩展名DCT的数据库备注文件和一个扩展名为DCX的数据库索引文件.数据库建立好后,还只是一空库,它没有任何数据,需要建立或添加数据库表才能实现对数据的统一的管理。
2.表的概念VFP作为关系型数据库系统,是用来管理数据的,而数据以记录和字段的形式存储在数据库中,数据库就是一个关于某一特定主题或目标的信息集合。
vfp9基本命令
vfp9基本命令VFP9常用命令Set filter to 字段名= 按照条件查询浏览页面信息Set filter to 返回筛选前Dele for year(日期)<2010 删除2010年以前的数据DELETE ALL 删除预览页面所有信息Use 远程试图执行语句PACK 本地表执行语句Replace all 销售价with 单价*1.2Sort on 字段名to 新表名Replace all 材料名称with alltrim(材料名称) 字符型函数Replace all 零件号with upper(零件号) 小写转换成大写Replace all 规格with subs(零件号,1,3) 取零件号的前三位Replace all 登记日期with date() 替换登记日期为今天Replace all 序号with recno() 替换序号列为序号(从零开始排序)Append blank 增加一条空的记录Recall all 取消删除标志Replace all 零件号with alltrim (零件号) 删除零件号前面的空格Replace all 利润with 出库金额-单价*出库数量把利润从新进行替换Sum 出库金额for month(日期)=2 to chhj 统计2月份出库金额存入变量ckhj 中Set filter to 结算日期=ctod(‘09/29/2011’) 查询结算日期等11年09月29日Set filter to 结算日期ctod(‘01/01/2011’) 查询日期1月份和9月份之间的replace all 材料编码WITH SUBS(材料编码,1,1)+'5'+subs(材料编码,3,6)把材料编码的第二位替换成5 保留3到6位(只是替换材料编码的第二位)replace all 仓库WITH SUBS(仓库,0,1)+'5'把字段“仓库”全都替换成5查询材料编码第二位不等于仓库Set filter to subs(材料编码,2,1)<>alltrim(仓库)查询材料编码第二位等于几号仓库(例如:想查询3仓库)Set filter to subs(材料编码,2,1)=’3’如何查询人为的修改维护编码表Set filter to at(‘修改’, 备注1)<>0如何替换标志F 或是T (例如:替换结欠款标志把T 替换成F ) Replace all 结欠款标志WITH .F. FOR 结欠款标志=.T.如何替换日期在xccllk1 表了把结算日期替换成日期Replace all 结算日期WITH日期如何把某项内容替换为空例如把日期替换为空Replace all 结算日期WITH ’’Replace all 日期WITH ctod(‘01/01/2012’)销售价小数点后四舍五入(小数点后全部舍掉)replace all 销售价with round(销售价,0)销售价小数点后保留一位其余都四舍五入replace all 销售价with round(销售价,1)。
vfp基本操作
vfp基本操作visual foxpro基本操作2.1VisualFoxPro系统主界⾯介绍2.1.1VisualFoxPro的启动:启动VisualFoxPro有多种⽅法,主要有以下三种⽅式:1.从“开始”菜单启动2.从资源管理器中启动3.从“运⾏”对话框中启动2.1.2.VisualFoxPro6.0的退出:1.点击关闭按钮2.‘⽂件’下拉菜单中选择‘退出’3.按下Alt+F44.键⼊Quit命令2.1.3.VisualFoxPro6.0主界⾯启动VisualFoxPro6.0以后,即可看到它的主窗⼝。
主窗⼝由菜单栏、⼯具栏以及命令窗⼝等组成。
VisualFoxPro6.0可使⽤不同类型的窗⼝以便完成各种不同的任务。
在VisualFoxPro6.0的各种平台上,除菜单外的所有部件都是窗⼝,包括⼯具栏在内。
⽤户可以同时打开多个窗⼝。
可以使⽤Windows下的窗⼝操作⽅法对VisualFoxPro6.0的窗⼝进⾏操作(如移动、改变⼤⼩等)。
(1)菜单栏菜单栏位于屏幕的第⼆⾏,它包含⽂件、编辑、显⽰、格式、⼯具、程序、窗⼝和帮助8个菜单选项。
当单击其中⼀个菜单选项时,就可以打开⼀个对应的“下拉式”菜单,在该“下拉式”菜单下,通常还有若⼲个⼦菜单选项,当选择其中⼀个⼦菜单选项时,就可以执⾏⼀个操作。
(2)命令窗⼝命令窗⼝是主界⾯上重要的⼀个窗⼝,通过他可直接键⼊VFP 的各种命令,可实现VFP 全部功能命令窗⼝位于菜单栏和状态栏之间,是Visual FoxPro 系统命令执⾏、编辑的窗⼝。
在命令窗⼝中,可以输⼊命令实现对数据库的操作管理;也可以⽤各种编辑⼯具对操作命令进⾏修改、插⼊、删除、剪切、拷贝、粘贴等操作;还可以在此窗⼝建⽴命令⽂件并运⾏命令⽂件。
在“窗⼝”菜单下,选择“隐藏”,可以关闭命令窗⼝;选择“命令窗⼝”,可以弹出命令窗⼝。
(3)项⽬管理器窗⼝利⽤该窗⼝可以有效的管理各种类型的⽂件、表单、报表、图像等(4)⼯具栏⼯具栏是单击后可以执⾏常⽤任务的⼀组按钮。
vfp9
值设为0,1时 Sorted属性——是否字符按顺序排列 值设为3,4时 Requery方法重新显示数据源的值,用新的值更新列表 值设为2(别名),6(字段)时 表记录指针将移动到所选项的记录上 InteractiveChange事件——选择所列条目后引发 一对多表单 Incrementalsearch属性——递增搜索
PasswordChar属性:口令显示(FMTB13B) DateFormat取有些值时,DateMark才有用(SHOW) Value属性:指定文本框的当前选定的值(字符型)
• 在程序中操作文本框中显示的文本时,可通过设置(写)或引用 (读)Value属性
8
8.2.2 文本框和编辑框
主要属性
InputMask属性(参见P56):指定控件中数据的输入 格式和显示方式 Format属性(参见P56):指定控件的Value属性的输 入和输出格式,即指定数据输入的限制条件和显示的格 式 Format 属性指定了整个输入区域的特性 可以组合使用多个格式代码,它们对输入区域的所有输 入都有影响 ScrollBars属性:是否有滚动条
4
8.2 选择合适的控件
对于某个特定的任务,可以用多种控件来完成
例如需要显示一个逻辑型的数据,既可以用文本框也可 用复选项
表单主要是用来显示数据、输入(或修改)数据
用于显示数据的表单通常不同于输入数据的表单 例如显示数据的表单其(部分)控件的属性应为只读 (即ReadOnly属性设置为真)
• 原 来 就 是 可 写 的 ( 文 本 框 、 组 合 框 ) 则 有 ReadOnly 属 性 (show) • 原 来 是 不 可 写 的 ( 标 签 、 列 表 框 ) 则 没 有 ReadOnly 属 性 (show)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
002 003
姓名 张三
李四 王武
英语 85
70 40
计算机 数学 82
95 70
总分
平均分
76
63 83
方法1:use cj replace all 总分 with 英语+计算机+数学,平均分 with 总分/3 方法2:update cj set 总分=英语+计算机+数学, 平均分=总分/3
(教科书P112)
① 建立一个表单,设置他们的外观尺寸,以形成 Windows软件界面; ② 为表单设置数据环境,数据环境规定表单与数 据表的相关性; ③ 根据软件功能要求,在表单中分配一些控件对 象。原则是美观、清晰、符合操作习惯; ④ 设置每一个控件的关键属性值,如:外观特征、 数据控制源、标题、是否可见等;
(教科书P127)
recall [范围] [for 条件1]
[while 条件2]
3)物理删除表中的记录 (教科书P127)
pack
4)记录清除命令
(教科书P128)
zap
?BOF(),EOF(),RECNO()
与删除相关的命令:(教科书P128)
set deleted on/off
功能:将逻辑删除的记录隐藏或 显示。on为隐藏,off为显示
字字符、空格及其他专用字符)组成,
长度范围是0~254个字符。
2.数值型(Numeric) 数值型数据通常分为以下四种 类型: (1)数值型( N )
(2)浮动型( F )
(3)双精度型( B )
(4)整型( I )
3.日期型(Date)8B 日期型数据是是用于表示日
期 的 数 据 , 用 默 认 格 式
VARTYPE(<表达式>) ------返回<表达式>
的数据类型
返回的字 母 C N
(见教科书第45-46页)
数据类型 返回的字 母 G D 数据类型
字符型或备注型 数值型、整型、浮点型 或双精度型 货币型 逻辑型 对象型
通用型 日期型
Y L O
T X U
日期时间型 Null值 未定义
基于数据表的表单设计方法
表单执行后, ①选择一用户名,输入密码,如果密码正确(与 数据表中的密码字段对应),单击“进入系统” 按钮,可以调用系统主菜单“图书管理系统菜 单.MPR”(该菜单的设计在第8章完成);
②如果密码不正确,最多允许输入3次,每次给出 错误提示,如果3次均不正确则直接退出系统,返 回操作系统;
③单击“退出”按钮,可以退出本系统,返回操 作系统。 (教科书P110-111事件代码)
",4+32+256,"确认")
if choice=6 endif
单击“是”按钮,函数值为6 append blank
thisform.refresh
用SQL命令添加记录
命令格式:
(见教科书124页)
insert into <表文件名>…
用INSERT命令插入记录 (见教科书124页)
命令格式:
insert into <表文件名>…
(教科书P121)
bof()
文件开始的测试函数 文件结束的测试函数
eof()
的值为:
在一个空表中,bof( )和eof( )
;recn( )的值为
。
在一个空表中,bof( )和
eof( )的值为:.T.;
recn( )的值为1。
利用命令进行记录定位:绝对定位
和相对定位 1. 绝对定位
(教科书P119)
数据类型
(见教科书96页)
数据类型一旦被定义,就确定了
其存储方式和使用方式。
Visual FoxPro系统将数据细化 分为以下几种类型:
1.字符型(Character) 字符型数据描述不具有计算
能力的文字数据类型,是最常用的
数据类型之一。 字符型数据是由汉字和ASCII
字符集中可打印字符(英文字符、数
⑤ 设置表单中各个控件的默认操作顺序; ⑥ 设计对象的事件驱动程序,也就是这些事件 一旦发生,将完成什么功能; ⑦ 将其他的菜单、工具栏与表单联系在一起, 用一个主程序驱动,就构成一个完整的 Windows应用程序。
(教材P108) 【例4-10】建立如表4.4所示的数据表: 管理员.dbf,设计如图所示的系统图书管理系统的登 录表单。将表单中的组合框与数据表中的用户名字段 绑定。
命令格式:SQL命令更新记录
update <表名> set…
(教科书P130) 例如,在读者表中,将编号为“d0008”读者的联 系电话改为027-3219666。 执行如下命令: UPDATE 读者 SET 联系电话="027-3219666" WHERE 读者编号="d0008"
例:计算cj.dbf的总分和平均分
在表单空白处单击 右键,在快捷菜单中选 择“数据环境”,弹出 “打开”对话框,选择 管理员.dbf,单击“确 定”按钮,在弹出的 “添加表或视图”对话 框中可以选择并添加多 个数据表,在这里我们 选择“关闭”按钮,则 数据表成功添加到表单 中,如图所示。
〖温馨提示〗在该对话 框中可以只选择姓名字 段,或只选择管理员编 号,为了避免错误的选 择管理员,最好两个字 段都选择。
第八、九讲
数据库数据表的基本操作
要点:
1.掌握表中的数据类型 2.掌握基于数据表的表单设计方法 3.掌握数据表中指针定位命令、 数据的更新命令、数据删除命令 4.掌握索引排序、永久关系及临时关系的 建立 5.了解记录数据与数组之间的传递
注意:第九讲上课前首先解决建库建 表中的问题及学生在自学中遇到的问 题,然后评讲自学课件中的习题
(默认)。
〘例5-4〙打开“读者信息维护”表单,进一步完 善表单的功能,实现“删除读者”、“清除标记”、 “物理删除”按钮的功能。
Command2命令按钮的click事件代码如下: delete thisform.refresh Command3命令按钮Click事件代码如下: recall thisform.refresh Command4命令按钮Click事件代码如下: choice=messagebox("确认删除所有已经逻辑删 除的记录“ , 4+32+256 , "确认") if choice=6 pack endif thisform.refresh
通常情况下, ①文本框、组合框等可以作为输入 类的控件; ②标签、文本框、编辑框、列表框、 表格、图像、Active绑定控件等作为输 出类的控件; ③命令按钮、命令按钮组、复选框、 选项按钮组、计时器可以作为控制类的 控件。
数据表中记录指针的定位
在Visual FoxPro 系统环境下, 表中的每一列数据是通过字段名来 标识的,而每一行数据是通过记录 号来标识的。
在Visual FoxPro 系统内部,有一 个用以确定当前记录的记录指针,记录 指针指向哪一个记录,这一个记录就是 当前操作的记录,即当前记录。当表打
开时,当前记录为第一个记录。可以用
函数recno()来测试当前记录号。 记录号测试函数
recno()
(教科书P121)
每一个数据表都有开始和结束标 志,可以用函数bof()和eof()来测试。
6.通用型(General)
4B
通用型数据是用于存储OLE对象的数 据。通用型数据中的OLE对象可以是电子 表格、文档、图片、声音等多媒体信息。 它只用于数据表中的字段类型的定义。 实际数据被存放在与数据表文件同名 的备注文件(其扩展名为:.fpt)中, 实际数据长度仅受限于现有的磁盘空间。
注意: 一个表文件的备 注型数据和通用型数据都 放在同一个与表文件同名 的备注文件(.fpt)中
{mm/dd/yy}来表示。其中mm代表
月,dd代表日,yy代表年。
4.逻辑型(Logic)
1B
逻辑型数据是描述客观事物真
假的数据,用于表示逻辑判断结果。 逻辑型数据只有真(.T.)和
假(.F.)两种值。
5.备注型(Memo)
4B
备注型数据用于存放较长的字符型数据 类型。 它只用于数据表中的字段类型的定义, 而实际数据被存放在与数据表文件同名的 备注文件(其扩展名为:.fpt)中,长度 根据数据的内容而定。
表数据与数组之间的数据传送
1. 将记录传送到数组
命令格式: (教科书P30-131)
scatter [fields <字段名表>] [memo]
to <数组名>
将当前记录的字段值按<字段名表>的顺序 依次送入数组元素中。
2. 将数组的数据传送到记录
命令格式:
gather from <数组名> [fields <字段 名表>] [memo]
示的内容。
2. 相对定位
(教科书P120-121)
skip [<数值表达式>]
〘例5-2〙 打开〘例5-1〙的图书信息.scx表单, 进一步完善表单的功能,实现“上一条”、“下 一条”按钮的功能,使得表单上能够逐一查看 “图书”表的所有记录。
修改Commandgroup1命令按钮组click事件代码,为 原多分支case语句增加两个判断分支,代码如下: case this.value=2 skip -1 表示第2、3个按钮: bof()函数为.t.,表示指 if bof() 上一条、下一条 针指到开始位置 go top messagebox("已经是第一条记录。") endif case this.value=3 skip eof()函数为.t.,表示指针 if eof() 指到结束位置 skip -1 messagebox("已经是末记录。") endif