




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 Visual FoxPro 的数据表是由字段和记录组成,是组织和存储大量相关数据的基本对象,数据表可以依附于一个指定的数据库,这样的表称为数据库表;也可以不依附于任何数据库,这样的表称为自由表。 自由表与数据库表的基本操作是类似的,都包括有表结构的创建、数据的输入、修改、删除、排序、索引、统计和查找等操作。 本章将以自由表为例,分别以菜单方式和命令方式介绍Visual FoxPro 对数据表的各种操作。第二章 数据表的基本操作记录数据结构表文件.DBF姓名英语高数哲学体育物理王小燕8987676688李林林6883929060马 研7689909167东方玉8891686584战笑旗9080
2、706098学 生 成 绩 表 (Stud1.DBF)2.1 表的建立与修改表结构的建立 建立表结构就是定义各个字段的属性,基本的字段属性可包括字段名、字段类型、字段宽度和小数位数等。一、利用表设计器操作利用表设计器操作表结构的 修改 当表结构建立好以后,有时还可根据需要对其结构进行插入新字段、删除字段以及修改某字段的操作。用于接收一切字符型数据,数据保存在与表的主名相同的备注文件中,其扩展名为 .FPT。 该文件的使用是随表的打开自动打开和关闭。 用来存放图形、电子表格声音等多媒体数据。数据也存储于扩展名为.FPT 的备注型文件中。利用表设计器操作表数据的录入 表的数据可通过记录编辑窗口按记
3、录逐个字段进行输入。一旦在最后一个记录的任何位置上输入数据,VFP便会自动提供下一记录的输入位置。表数据的录入双击该字段 备注型 数据的录入 通用型字段可用来存储多媒体数据。 如图形、图象、声音等多媒体数据。 通用型字段数据的可通过剪贴板,或通过编辑菜单的插入对象命令来插入图形双击该字段通用型 数据的录入通用型 数据的录入通用型 数据的录入(1) 建立表结构命令 格式:CREATE 表名.dbf(2) 显示表结构命令 格式:LIST STRUCTURE(3) 修改表结构命令 格式:MODIFY STRUCTURE二、利用 命令方式 操作(4) 向表中追加记录 格式:APPEND BLANK 如
4、果当前表文件中有10 条记录,设 当前记录号是 3,使用 Appe Blank 命令 增加一条空记录,则该空记录的序号是。 练习A) 4 B) 3 C) 1 D) 11 Appe 是向当前表文件的末尾添加新记录,所以无论当前记录号是几,都不影响Appe 向表末尾追加。(5)向表中插入记录 格式:Insert Blank Before 与当前记录指针的位置有关,请切记!(6)浏览记录 格式:browse功能:对当前打开的表文件,以表格形式进 行浏览并可逐行修改各记录数据。 (7) 修改记录 格式:Edit功能:对当前打开的表文件,将当前指针 所指的记录以编辑方式显示在屏幕 上,且每次只能修改1条
5、记录。 当前表文件中有10条记录,现要在第5条 记录之后插入1条新记录,则应使用的命令是 练习Append B) Insert C) Edit D) Brows2.2 常用数据表操作命令指针的定位与显示 指针定位命令包括有: GOTO Top| Bottom、GOTO n、Skip n 记录显示命令包括有: List、Disp GOTO TOP 告 之每当表被打开时,记录指针总是指向表中的第一条记录。 指向表的第一个记录 ,即首记录 指向表的最后一个记录,即尾记录 指向表的某个记录 GOTO BOTTOMGoTO 一、指针定位命令 你知道吗? 记录指针的定位结果 可利用函数 Recno( )
6、检测。 Recno( ) - 当前记录指针测试函数,其函数值为数值型 Note: 若当前表文件为空,则函数值为1; 若指定工作区内没有打开的表文件,则函数值为0。 Use Stud1 ? Recno() 1 Go 4 4 ? Recno() 用函数 Recno() 测试一个空表 文件,其结果一定是: 练习 A) 空格 B) 1 C) 出错信息 D) 0 当前表文件中有51条记录,当执行了 Go Bottom 后, 记录指针应指向记录的序 号是:练习A) 51 B) 1 C) 52 D) 50 SKIP 告 之 记录指针从当前位 置开始做向上或向下的 相对移动。 说明:1、若表达式为负值,则是指
7、记录指针向表头方向 移动,否则是向表的尾部移动。 2、缺省时,表达式值为 1。即向表尾方向移动一 条记录。相当于 SKIP 1。二、指针移位命令 Skip Skip 2 Skip -1 Go top Skip -1 ? BOF() T Go Bottom Skip ? EOF() T告 之BOF( ): 测试当前记录指针是否定位在表头;EOF( ): 测试当前记录指针是否定位在表尾 BOF( ) - T EOF( ) - T BOF( ) T 首记录减1 EOF( ) T 尾记录加1 当前表文件中有10 条记录,此时用 函数 EOF( ) 测试结果为 T,则当前记录 号应该是:练习 A) 10
8、 B) 11 C) 0 D) 1 该位置的记录号:尾记录+1 先打开一个空的表文件,在 分别用函数 EOF( ) 和BOF( ) 测试,其结果一定是:练习T 和 T B) F 和 F C) T 和 F D) F 和 T 当表文件为空时,文件首与文件尾重叠。 当前表文件中有10 条记录,设当前 记录号是1。则在执行了 Skip 1 命令后 再执行 ? Recno( ) ,屏幕上应显示:练习A) 0 B) 1 C) -1 D) 出错信息此时,BOF( ) 为真 格式:Delete For WHILE 功能:从当前打开的表文件中,按给定范围内满足条件的记录 打上逻辑删除标记 “*”。 说明:1、De
9、lete: 为当前记录作删除标记; 2、Delete 范围: 在所给出的范围的记录作删除标记; 3、Delete 条件: 对满足给定条件的记录作删除标记。 4、删除标记 “*”: 被存放在建立表文件结构时,多留 出的字节中。 三、 删除表中的记录(逻辑删除、物理删除) Delete Go 5 Delete Delete All For 高数60 格式:Recall For WHILE 功能:恢复已打了*的记录格式: Pack物理删除记录格式:Zap删除当前表中全部记录 Zap 命令可以删除当前表文件的:练习 A) 全部记录 B) 满足条件的记录 C) 结构 D) 有删除标记的记录 要删除当前表
10、文件“性别”字段 应当使用命令:练习 A) Modi Stru B) Delete C) Replace D) Zap LIST FIELDS 范围 FOR WHILE OFF TO PRINT PROMPT | TO FILE 功 能 在表中按指定范围与条件筛选出记录并屏幕或打印机上显示或送到指定的文件中。四、显示表中记录命令1、范围 ALL思考题 当执行了 List 命令后,则记录指针的位置如何?LIST FIELDS 范围 FOR WHILE OFF TO PRINT PROMPT | TO FILE 1、范围 ALLNext n 从当前记录起的 n 个记录 List Next 4 Us
11、e Stud1 go 3LIST FIELDS 范围 FOR WHILE OFF TO PRINT PROMPT | TO FILE List next 41、范围 ALLNext n Record n 从当前记录起的 n 个记录 显示第 n 个记录List Record 4LIST FIELDS 范围 FOR WHILE OFF TO PRINT PROMPT | TO FILE 1、范围 ALLNext n Record n 从当前记录起的第 n 个记录 显示第 n 个记录List Reset Reset 显示从当前记录开始向下的所有记录LIST FIELDS 范围 FOR WHILE O
12、FF TO PRINT PROMPT | TO FILE List 或 List All 告 之 每当执行一次 List 或 List All 命令 时记录指针都要自动从表的第一条记录开 始逐条移动,一直移到表的尾部(即最后 一条记录的下一个位置,此时EOF( )为T) List Rest 告 之 当执行一次 List Rest 命令时记录 指针移到表的尾部(即最后一条记录的下 一个位置)。若再执行该命令时,则指针 位置不动,除非利用 Go 命令将指针移 动文件的第一记录位置。思考题 当首次执行了一次 List Rest 命令后,然后键入 Go 3,再执行 List Rest ,则情况如何?
13、2、For 条件(逻辑表达式)List All For 高数=80LIST FIELDS 范围 FOR WHILE OFF TO PRINT PROMPT | TO FILE 3、FIELDS 字段名表列List Fields 姓名,高数 For 高数=80LIST FIELDS 范围 FOR WHILE OFF TO PRINT PROMPT | TO FILE 、OFFList Fields 姓名,高数 For 高数=80 OFFLIST FIELDS 范围 FOR WHILE OFF TO PRINT PROMPT | TO FILE 要显示当前表文件中平均分超过 90 分 或不及格的全
14、部女生记录,应当使用的命令:练习List For 性别= “女”,平均分=90,平均分90,平均分90 And平均分90 Or平均分60) 当前表文件中有20条记录,设当前 记录号是 10 则在执行了 List Rest 命 令以后,当前记录号是:练习 A) 10 B) 20 C) 21 D) 1表数据的维护 表的数据维护命令包括有: 对表记录(表结构)的插入、添加、删除和复制 等操作。表数据的维护表与表结构的复制(包括表中的记录、数据结构同时复制)命令格式:Copy File To 功能:将文件1中的内容复制到文件2中。(.DBF)Stud1.dbf一、复制任何文件Copy File Stu
15、d1.Dbf to Stud2.DbfStud2.dbfCopy stud1.Fpt to stud2.FptNote: (1) 若对该表进行复制,首先该表应必须处于关闭状态。储存通用型字段的多媒体数据的文件二、从表复制出表或复制其它类型的文件命令格式:Copy To 范围 For Fields |Fields Like |Fields Except TYPE SDF| XLS| Delimited With 功能:将当前已打开的表,从中选定部分记录和部分字段复制到一个新的表中或文件中。 Note: (2) 该项复制操作自动复制 .FPT备注型文件Use stud1 Copy to stud3
16、 Copy to stud4 Fields 姓名,星座,最喜欢图片 Use stud3 ListUse stud1Use stud4List命令格式:Copy To 范围 For Fields |Fields Like |Fields Except TYPE SDF| XLS| Delimited With Copy to ss Fields Like a*Note: (3) 通配字段名是指表示字段名时可使用通配符号*和?; (4) Fields Like 是指只复制由通配字段 名所给出的字段来组成新的表。 命令格式:Copy To 范围 For Fields |Fields Like |Fi
17、elds Except TYPE SDF| XLS| Delimited With Copy to ss Fields Except a*Note: (5) Fields Except 除了通配字段名以外的所有字段命令格式:Copy To 范围 For Fields |Fields Like |Fields Except TYPE SDF| XLS| Delimited With Use Stud4Copy to Stud1 TYPE XLS Note: (6) TYPE XLS 复制 Excel 型文件Excel 命令格式:Copy To 范围 For Fields |Fields Like
18、 |Fields Except Type SDF| XLS| Delimited With Use Stud4Copy to Stud1 TYPE SDF Note: (7) TYPE SDF 所复制出的文件属于文本文件(系统数据格式) SDF 为标准复制格式。即所复制的 数据无定界符,数据之间无分隔符记事本命令格式:Copy To 范围 For Fields |Fields Like |Fields Except Type SDF| XLS| Delimited With Use Stud4Copy to Stud1 TYPE Delimited Note: (8) TYPE Delimit
19、ed 所复制出的文件属于文本文件(定界格式) Delimited 自定义复制格式。即所复制的文本 文件中的数据可用定界符,数据间用分隔符。命令格式:Copy To 范围 For Fields |Fields Like |Fields Except Type SDF| XLS| Delimited With 三、表结构的复制命令格式:Copy StructureTo Fields 功能:仅复制当前表的结构,不复制其中的数据 Use Stud1Copy Stru to ssUse ss 为原有的数据表文件增加记录。 其命令包括有: Insert、Append记录的插入与追加记录的插入与追加一、在当
20、前打开的表中 插入新记录格式:Insert Blank Before 说明: (1)Before 在当前记录之前插入新记录; (2)Blank 插入空记录; (3)缺省任选项时,则在当前记录之后插入新记录。 Use Stud1Insert Before二、在当前打开的表中 追加 新记录1、格式:Insert Into 表名 (字段名表列) Values(表达式表) 功能: 在表的尾部添加一条新记录。说明: (1)不用将表打开即可添加新记录; (2)字段与表达式类型必须相同。 Insert Into Stud1(姓名,高数,哲学,体育,物理); Values( “李南”,65,45,66,86,
21、60 )2、格式:Insert Into 表名 From Array 数组名| From 内存变量功能: 将数组或内存变量中的值添加到表中说明: (1)若为数组,则可按数组元素依次填入新加的记录中 Dime a(6) a(1)=“伍修娟” a(2)=78 a(3)=77 a(4)=89 a(5)=90 a(6)=99 Insert Into Stud1 From Array a Dime a(6) a(1)=“伍修娟” a(2)=78 a(3)=77 a(4)=89 a(5)=90 a(6)=99 Insert Into Stud1 From Array a 思考题 ? Recno() 此时记
22、录指针应指在哪条记录上?List ? Recno() 此时记录指针应在何处?893、格式:Append Blank说明: (1)Append 以编辑窗口方式位于表的尾部添加记录; (2)Append Blank 在表尾添加一个空记录。 Append Appe Blank4、格式:Appen From Fields For Type Delimited With| SDF | XLS功能: 从某文件中读取一批记录,并添加到当前表的尾部。说明: (1)文件类型允许是表、各种格式的文本文件或 Excel 文件。Use ssAppend From Stud1Use ssAppe From Stud1
23、Type XLSExcel4、格式:Appen From Fields For Type Delimited With| SDF | XLS 表文件中数据的替换命令: Replace表文件中数据的替换表文件中数据的替换一、批量修改表中的数据 格式:Replace With Additive , With Additive For 功能: 在当前打开的表中,将有关字段的值用相应的表达式值 来替换。说明: (1)在给定的范围内,找出符合条件的记录,然后用 的值来替换 的值 。 Use Stud1Repal All 总分 With 英语+高数+哲学+体育+物理 Replace With For Re
24、pl All 平均分 With 总分/5 Repl All 奖学金 With 500.00 For 平均分=80 Replace With For 二、单个记录与数组间的数据传送 格式:Scatter Fields | Fields Like | Fields Except Memo To Blank | MemvarBlank 1、将记录传送到数组或内存变量功能:将当前记录的字段值按顺序依次写入 到数组元素中或依次写入到内存变量中。Use Stud1Go 3Scatter Memvar? m.姓名, m.英语, m.高数, m.哲学, m.体育, m.物理马 研 76 89 90 91 67
25、Use? m.姓名,m.英语,m.高数,m.哲学,m.体育,m.物理 马 研 76 89 90 91 67Use Stud1Scatter To ss? ss(1), ss(2), ss(3), ss(4), ss(5), ss(6)王小宁 45 87 67 66 88 格式:Gather From | Memvar Fields | Fields Like | Fields Except Memo 2、将数组或内存变量中的值传送到记录功能:将数组或内存变量中的数据写入到当前表的当前记录中。Use Stud1Scatter to ssss(2)=68Gather From ssList 三、成
26、批记录与数组间的数据传送 格式:Copy To Array Fields 范围 For 1、将表中的一批记录复制到数组中功能: 将当前表中所选定的数据复制到由所表示的 数组中。告 之对于表中的型字段,不能被复制。请将下列表中含有奖学金的记录复制到SS数组中练习题 Dime SS(2,9) 格式:Copy To Array Fields 范围 For Copy To Array SS For 奖学金0 ? ss(1,1), ss(1,9)? ss(2,1), ss(2,9)Use Stud1 Dime ss(2,9)List 姓名, 奖学金 格式:Copy To Array Fields 范围
27、For 1、若在执行该命令之前没有定义数组,则系统会自动建立。说明: 2、可以将单个记录复制到一维数组中。 ? ss(1), , ss(9) 马研 76 89 90 91 67 500 Copy To Array SS For 奖学金0 Dime ss(9)Copy To Array ss For 奖学金0 2、从数组向表中添加记录功能: 将满足条件的数组行数据按记录依次添加到当前表中。Use Stud1Dime ss(2,9)Copy To Array ss For 奖学金0 马 研76 8990 916741382.6 500 战笑旗99 8070 609840781.4 500 ss(1,1) (1,2) (1,3) (1,4) (1,5) (1,6) (1,7) (1,8) (1,9) ss(2,1) (2,2) (2,3) (2,4) (2,5) (2,6) (2,7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 排水涵管施工方案
- 珠江啤酒公司财务管理模式的改进方案5400字
- 粉刷警示柱施工方案
- 照明专项施工方案
- 广东锅炉管道防腐施工方案
- 削竹式隧道明洞施工方案
- 灰土基层施工方案
- 铝合金栏杆施工方案
- 拆除道牙和生态砖施工方案
- 室外壁挂式充电桩施工方案
- 四年级数学(小数加减运算)计算题专项练习与答案
- 天津市建筑安全员-C证考试题库
- 2025年皖北卫生职业学院单招职业适应性测试题库参考答案
- 小学生春耕教学课件
- 2024年南信语文数学试卷(含答案)
- JGJ46-2024 建筑与市政工程施工现场临时用电安全技术标准
- 2016-2023年江苏电子信息职业学院高职单招(英语/数学/语文)笔试历年考点试题甄选合集含答案解析
- 8.6《林黛玉进贾府》课本剧剧本
- 计算机信息检索第三章
- ISO22716:2007标准(中英文对照SN T2359-2009)47
- 融媒体档案信息化管理探究
评论
0/150
提交评论