大学VF课件 数据表的基本操作

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据表的基本操作
——第11章
VFP
1
复习 表的操作包括:
1、创建新表 2、表结构的定制(通过表设计器完成增、删 字段,修改字段名、字段类型、宽度等) 3、存储和查看表中的信息(显示下拉菜单中 的浏览、编辑、追加方式) 4、表数据的修改 5、定制表(关系的投影和选择操作)
对于已经建好的表,可以利用索引对其中 的数据进行排序。
②索引的类别
Visual FoxPro系统提供了四种不同的索引类型, 它们分别是: 主索引(Primary Index) 候选索引(Candidate Index)
普通索引(Regular Index)
唯一索引(Unique Index)
17
Visual FoxPro程序设计
②索引的类别
主索引:只能在数据库表中建立,不能在自由表中 建立的索引。主索引的关键字绝对不允许有重复 值。一个数据库表只能建立一个主索引。主索引 主要用于在永久关系中的主表或被引用表里建立 参照完整性。自由表没有主索引。 侯选索引:和主索引类似,也不允许索引的关键字 段中有重复值。侯选是指索引的状态,表示在表 中有资格被选作主索引。一个数据库表或自由表 允许含有多个侯选索引。
25
Visual FoxPro程序设计
11.5.5 使用索引
根据所建索引类型的不同,可以完成不 同的任务: (1)对记录进行排序 (2)数据表的查询 (3)控制重复输入 (4)使用索引创建数据库中表之间的关 系(12章讲)
26
Visual FoxPro程序设计
(1)对记录进行排序
用字段名或其他索引表达式对记录排序。 索引将对表达式进行计算,以此确定记录出 现的顺序,然后存储一个按此顺序处理表中 记录的指针列表。 表——属性——索引顺序 命令SET ORDER TO <索引名> 例如:set order to xb
方法二: MODIFY STRUCTURE
4
VFP程序设计
表的独占与共享使用 独占:一张表只能被一个用户打开 共享:一张表可以被多个用户同时打开 设置方式: 工具——选项——数据 Set exclusive on|off 强行打开 • Use xsda shared &&共享方式,此时 不能修改表结构 • Use xsda exclusive &&独占方式
表属性:“工作区属性”窗口,选择“数 据过滤器” 命令SET FILTER TO [(逻辑表达式)]
筛选字段
表属性:设置“字段过滤器” 命令 SET FIELDS TO {ALL | <字段 名表>}
14
VFP程序设计
11.5、数据表的索引
一般情况下,表中记录的顺序是由数据输入的前后顺 序决定的,并用记录号予以标识。 索引实际上是一种排序,但是它不改变数据表中数据 的物理顺序。 Visual FoxPro 中的索引与通常读的图书的目录索引 相同,图书中的索引是标明了章、节对应的页码列表, 而表的索引指明了按索引关键字段的值的大小排列的 记录号的列表。 Visual FoxPro 中的索引保存在索引文件*.CDX中。
11
VFP程序设计
7、修改记录
3.使用批处理命令 对字段内容成批自动地进行修改<替换 >,而不必在编辑状态下逐条修改。 ①表替换字段 ② 命令REPLACE REPLACE [<范围>] <字段名1> WITH <表 达式1>[,<字段名2> WITH <表达式 2> …][FOR |WHILE <条件> ]
29
Visual FoxPro程序设计
1) 查找命令FIND
[例]在xsda.dbf中使用find命令查 找姓李的学生信息。
Index on 姓名 tag 姓名 Set order to Tag 姓名 &&指定主索引项 Find 李 ?found() display
30
Visual FoxPro程序设计
15
Visual FoxPro程序设计
11.5.1 索引的基本概念
根据数据库中的某些字段值,为数据库建立 一个逻辑顺序的索引文件,但并不实际调整 数据库中每条记录的顺序,因此记录在数据 按编号索引: 原数据表顺序: 库中的位置并未改变。 编号 记录号 记录号 编号 姓名
01001 01002 02001 02002 03001 03002 03003 04001 04002 05001 05002 4 8 7 6 5 9 10 3 2 11 1
22
Visual FoxPro程序设计
索引作用
根据所建索引类型的不同,可以完成不同的任务:
若要排序记录,以便提高显示、查询或打印的
速度,请使用普通索引、候选索引或主索引。
若要在字段中控制重复值的输入并对记录排序,
请对数据库表使用主索引或候选索引,对自由 表只能使用候选索引。
23
Visual FoxPro程序设计
9
<条件>]
VFP程序设计
6、记录的删除
2)物理删除 可以将数据表中所有具有删除ቤተ መጻሕፍቲ ባይዱ记的记录正 式从表文件中删掉 ①表彻底删除 ②命令 PACK 注:PACK命令为物理删除命令,一旦执行, 无法用恢复。 ③删除所有记录 zap
10
VFP程序设计
6、记录的删除
3)恢复删除记录命令 RECALL [<范围>] [FOR <条件>] recall all for 性别="男" 可以恢复数据表中指定范围内满足条 件的删除记录,撤销标记。 注:DELETE命令的逆操作,取消标记, 恢复为正常记录。
3)顺序查询命令LOCATE
此命令查找当前数据表中满足条件的第一条记录。 语法格式: LOCATE [<范围>] [FOR <条件>]
①<范围>项省略时,系统默认为ALL。 ②若找到满足条件的首条记录,则指针指向该记录, 否则指向范围尾或文件尾。条件表达式中不能用索 引名。 ③若省略所有可选项,则记录指针指向1号记录。 ④若想继续查找,可以利用继续查找命令CONTINUE.
5
VFP程序设计
3、表的打开与关闭 表的打开
• “数据工作期” • USE <表文件名>
表的关闭 使用不加表名的USE 命令,在当 前工作区中关闭一个已打开的表 文件。
6
VFP程序设计
4、表的浏览
浏览窗口两种显示模式: 浏览模式和编辑模式。 ①浏览模式 Browse <范围> for <条件> ②编辑模式 Edit <范围> for <条件>
2) 查找命令SEEK
查找关键字与所给字符串相匹配的第一条记录。 a、若找到,指针指向该记录; b、否则指向文件尾,给出信息“没找到”。 语法格式: SEEK <表达式>
①只能找出符合条件的第一条记录。 ②本命令可查找字符、数值、日期和逻辑型索引关键 字。 ③若<表达式>为字符串,则必须用界定符(„‟,””,[])括 起来; ④使用本命令时,若找到了符合条件的首条记录,则 函数FOUND()的值置为.T.,否则置为.F..
1 2 3 4 5 6 7 8 9 10 11
16
05002 04002 04001 01001 03001 02002 02001 01002 03002 03003 05001
苗 莉 林文灵 姜瑞青 韩伟东 王为冬 贾贵红 刘巧玲 张小鹏 宋绍明 邵林文贺 马超频
Visual FoxPro程序设计
19
Visual FoxPro程序设计
11.5.2 索引的建立
若要创建表的索引,可以采用: 在“表设计器”中选择“索引”选项卡,输入索 引关键字信息,并选择索引类型。 说明索引选项卡: 排序:升序或降序
索引名:索引标识,下划线、字母或汉字开头,不 超过10个字符。
表达式:一个字段或字段的表达式(索引关键字), 类型统一进行运算。 筛选:对记录进行选择操作。
33
Visual FoxPro程序设计
2
VFP程序设计
1、创建新表
方法一: 用表设计器创建新表 方法二:
CREATE TABLE <表名> (<字段名1> <类型 >(<长度>)) [, <字段名2> <类型>(<长度
>)…]
3
VFP程序设计
2、修改表结构
方法一: 显示——表设计器
注意当表为shared是 只读状态不能修改, 只能改成独占方式 exclusive
•可用found()测试
注:用于数据表和索引文件均打开的情况
1) 查找命令FIND
查找关键字与所给字符串相匹配的第一条记录。 a、若找到,指针指向该记录; b、否则指向文件尾,给出信息“没找到”。 语法格式: FIND <字符串> | <数值>
①find只能查找字符串或常数,而且表必须按相应字 段索引。 ②查找的字符串无需加引号。 ③本命令只能找出符合条件的第一条记录。若要继续 查找其他符合条件的记录,可使用SKIP命令。 ④使用本命令时,若找到了符合条件的首条记录,则 函数FOUND()的值置为.T.,否则置为.F..
7
VFP程序设计
5、表的数据录入
显示——追加记录 表——追加新记录 表——追加记录 使用APPEND、insert命令
8
VFP程序设计
6、记录的删除
删除分为:逻辑删除和物理删除 1)逻辑删除: ①在浏览模式或编辑模式下删除记录 ②删除满足条件的记录 表删除记录 ③使用命令删除记录 DELETE [<范围>] [FOR
18
Visual FoxPro程序设计
②索引的类别
普通索引:允许关键字段中有重复值。在数据库表 和自由表中都可以加入多个普通索引。 系统默认的索引类型为普通索引。 惟一索引:为了保持与以前的Foxpro版本兼容而设 立的。惟一索引允许关键字取重复值,当有重复 值时,索引文件只保存重复值中第一个出现的值。
11.5.3 索引的删除 通过表设计器
命令方式:Delete tag 索引标识名|all delete tag xb Visual FoxPro程序设计
24
11.5.4 索引的打开与关闭 索引文件随着对应的表一起被打开 与关闭
请注意: 索引前,表的记录按照输入顺序存储,在浏 览表时,记录按输入的顺序出现。 建立好索引后,表的记录不会自动的按照索 引排序。 必须使用索引,表中的记录才能按索引关键 字升序或降序排列(表——属性)
20
VFP程序设计
11.5.2 索引的建立
方法二:使用 INDEX 命令 INDEX ON 索引表达式 TAG [ FOR <条件>] [ASCENDING|DESCENDING] [UNIQUE[CANDIDATE]]
索引标识
•一个字段名称 •几个字段名称的组合 •表达式或自定义函数
如:index on 编号 tag 编号 ascending
31
Visual FoxPro程序设计
(2) 数据表的查询 [例]在xsda.dbf中使用seek命令查 找姓名为”李娜“的记录。
index on 姓名 tag xm &&指定主索引项 set order to xm seek “李娜" ?found() display
32
Visual FoxPro程序设计
VFP程序设计
12
8、表记录的定位
三种定位方法: 绝对定位:go n 相对定位:skip 条件定位:locate <范围> for <条件> 第一个记录 Go top
或最后一个 记录 N为正,向下移 动;无,向下 移动一个
VFP程序设计
go bottom
Skip n
13
9、筛选
筛选记录
index on 性别 tag xb desending index on 学号 tag xh candidate
21
Visual FoxPro程序设计
11.5.2 建立索引
例一: 在学生登记表中创建按学号升序的候选索引。 例二: 在学生登记表中创建按高考成绩降序的普通索引。 例三: 在学生登记表中创建按性别升序排序、性别相同的 按高考成绩升序排序、高考成绩相同的,按出生日 期升序排序的索引,索引名为“性别高考生”。 注意:索引名最多为10个字符。 索引名不是索引文件名。
27
Visual FoxPro程序设计
(2)数据表的查询 条件查询 •.t.为找到。记录 Locate…for 指针指向查找到的 第一条记录 常用查询 •.f.为没有找到。 Find <字符串>/<常数> 记录指针指向文件 表达式查询 末尾 Seek <表达式>
查找关键字与所给字符串相匹配的第一条记录。
相关文档
最新文档