第三讲 vfp自由表_第1页
第三讲 vfp自由表_第2页
第三讲 vfp自由表_第3页
第三讲 vfp自由表_第4页
第三讲 vfp自由表_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三讲自由表重要内容表文件结构的创建和修改输入表数据表的基本操作修改和删除记录数据1.表的结构一个表文件对应一张二维表二维表的数据项称为字段字段名是数据项在表中的名称表文件也是一个磁盘文件,文件的后缀名为.DBF建立表前必须定义表结构,即必须明确该表所包含的字段及其字段名、字段类型、字段宽度、小数位数。表结构与相应的数据构成了表文件下面叙述数据结构的几个部分1.1字段名字段名必须以字母或汉字开头,其他可以是字母、汉字、数字和下划线“_”。1.2字段类型在VFP中,字段类型主要有13种。一个字段只允许存放一种类型的数据。字符型字段(C):即Character字段,可逐字存储所有能打印的ASCII字符及空格符,还包括所有汉字系统的可打印的汉字和各种符号即任何文本。数值型字段(N):即Numeric字段,用以存储可参与加减乘除运算的为0、1、2、3、4、5、6、7、8、9(包括负数)等数值的数据。浮点数值型字段(F):即Float或叫浮动型字段,与N型字段相同,是数值类型,以ASCII码形式表示,均以IEEE所描述的二进制浮点表示型式存储。双精度数据型字段(B):即Double字段,当用户需要更精确的数值时,可用双精度数据代替数值型数据。整数型字段(Integer):装入整数值。货币型字段(Y):即Currency字段,它装入表示货币量的数据而代替用数值型数据表示货币。逻辑型字段(L):即Logical字段,用以存放真或假两个逻辑值。日期型字段(D):即Date字段,用以存储不带时间值的日期数据,可反映日期格式,可检查日期输入合法性。日期时间型字段(T):即DateTime字段,既可以存储日期,也可以存储时间或者两者兼有的值。备注型字段(M):即Memo字段,用以存储大量的文字信息。通用型字段(G):即General字段。它类似一个备注型字段,但主要用来支持Microsoft的对象链接和嵌入OLE。二进制字符型字段:即Character(binary)字段。它可装入想维持的不用通过代码页转变的任何字符数据。它的值的范围是任何字符。二进制备注型字段:即Memo(Binary)字段。它可装入想维持的、不用通过代码页转变的任何备注字段数据。它的范围仅受现有内存限制。1.3字段宽度字段宽度就是字段中能够存放的最大字符数或数值的最大位数。字符型字段不得大于254个字符,超过254个字符的文本用备注型字段的备注文件存储。浮点型(F)和数值型字段(N)的宽度=整数位数+小数位数+1(小数点),其字段宽度不能超过20字节,有效位数为16位。其他几个类型的字段宽度是系统规定的,不用用户设定。1.4小数位若字段的类型是数值型(N)和浮点型(F),就须给出小数位数。若是整数,小数位是0;小数部分的长度是总长的一部分,其小数位不能大于19.双精度小数位不能大于18,它不像数值型数据,当输入值时,应由用户自己决定小数点的位置。2.建立表结构格式:CREATE[<文件>|?]功能:建立一个新的表文件。注:我们一般只给出命令的简单形式,相应命令的完整形式参见VFP软件的帮助。说明:用户不能建立MS-DOS设备名为名的表(CON,NUL,PRN,COM1…),还应避免使用在窗口中不能看见容易和别名只是(->)混淆的连接字符。现在建立文档表结构,文件名为DF.DBF,如表4-1所示。NAME(字段名)Type(类型)Width(宽度位)Dec(小数位)(1)登录号(DEN)字符型(C)9(2)登录时间(STIM)日期型(D)8(3)关键词或分类号(NO)字符型(C)11(4)行文者号(WO)字符型(C)10(5)文档名(BK)字符型(C)50(6)行文者名(WR)字符型(C)50(7)行文地(AD)字符型(C)50(8)登出刊物(UN)字符型(C)20(9)行文时间(TIM)日期型(D)8(10)页数(P)数字型(N)3(11)涉及金额(SI)数字型(N)11(12)该文处理情况(Z)字符型(D)50(13)摘要(CO)备注型(Memo)4表4-1DF.DBF表结构直接用汉字项目名作为字段名,建立表结构的方法如下:直接键入:CREATEDF<CR>建立名为DF的表文件。<CR>表示回车键,所有命令均用它结束。间接键入:CREATE?如果用户没有给出文件名或只给出问号(?),则出现对话框,用户就能输入想要建立的表名。此时出现表设计器,即CREATE表结构对话屏幕。选插入(I)按钮后,在此对话框中,去定义将存在于表中的字段。3.修改表结构格式:MODIFYSTRUCTURE功能:显示表文件结构,并允许修改此表的结构。说明:执行此命令后,VFP会出现一个显示表结构的对话框。如果表不是在当前打开的工作区,系统将让用户选择要修改的表。用户可以对表结构进行如下改动:增加字段和删除;修改字段名、大小和数据类型;增加、删除或者修改索引标识等。在用户改变表的结构前,VFP自动地备份当前的表。备份文件扩展名是.BAK,备注备份文件的扩展名是.TBK。如果在用MODIFYSTRUCTURE修改表结构时出现任何错误,用户可以把新的表结构文件删掉,并把.BAK文件和.TBK文件改变为原文件扩展名.DBF和.FPT。例4.1

修改DF.DBF表文件的结构,删除字段“涉及金额”(SI),在“行文地”字段前加一个字符型字段“备用”,其字段长度为15,将登录号宽度改为10。

USEDFLISTSTRUCTURE&&DF表结构字段类表见表4-1MODIFYSTRUCTURE

当光标在“行文地”时,按对话框中的插入按钮插入一个字段后建立“备用”字段,然后把光标移到“涉及金额”字段,按删除按钮,然后把光标移到”登录号“字段,改变宽度位10,最后按确定按钮存入。

例4.2

将此DF.DBF新表中的“备用”字段改为图像,字段改为通用型。命令窗口中键入:

USEDFMODIFYSTRUCTURE屏幕出现表结构对话框。当光标在“备用”字段时,将备用字段改为“图像”字段(通用型)后,按所述方法存储退出。

LISTSTRUCTURE可以看到上面的表结构列表中第7号字段变为“图像通用型4”了。重要内容表文件结构的创建和修改输入表数据表的基本操作修改和删除记录数据1.CREATE命令期间输入数据当VFP系统提示“现在输入数据记录吗?”时,如果选择是(Y),系统则打开一个表窗口,这是一个允许输入数据到当前数据库末尾的若干个空白新记录组成的表。在此窗口中,示出上下一个接一个的记录的全部字段,可一次输入这些字段的数据。当完成输入时,用鼠标单击此窗口右上角的按钮关闭窗口,便可退出完成。2.表添加命令作用:在当前表的尾部(无论表中有无记录)追加记录(当前表指当前正使用的表)。格式:APPEND[BLANK]说明:使用APPEND或APPENDBLANK命令给一个表文件的末尾添加记录,一般应先打开此表,则VFP的屏幕上将出现一个打开的对话框,用户可从中选择一个表来添加记录。3.在表中插入记录命令格式:INSERT[BEFORE][BLANK]功能:在表文件中间插入一个记录。说明:在表中,系统有一个用来指示记录位置的指针,指针当前所在的记录成为当前记录。任选项[BEFORE]表示在当前记录前插入,否则在当前记录之后插入。[BLANK]表示插入空记录。命令:INSERT在当前记录后插入一记录INSERTBEFORE在当前记录前插入一记录INSERTBEFOREBLANK在当前记录前插入一个空记录例4.3

在DF表文件第2个记录之前插入一个新记录:

8003,文件,向科协的报告,狐狸软件室,电01/01/91,0,Memo在原第2个记录之后插入一个空记录:

USEDF&&打开DF表文件

GOTO2&&指针移到第2个记录

INSERTBEFORE&&在第2个记录之前插入一个新记录

GO3&&指针移到第3个记录

INSERTBLANK&&在第3个记录之后插入一个空记录

LIST&&显示所有记录的内容重要内容表文件结构的创建和修改输入表数据表的基本操作修改和删除记录数据1.打开和关闭表文件打开表格式:USE[<文件名>]命令:USE<文件名>作用:打开<文件名>指定的表文件,该表若有备注型字段,则同时打开相应的备注文件。关闭表命令:USE作用:关闭当前打开的表文件2.表的显示和列表建立表以后,用户根据需要经常要对表进行各种查询显示和打印。2.1显示表的记录LIST命令格式:LIST[OFF][<范围>][FIELDS]<表达式表>[WHILE<条件>][FOR<条件>][TOPRINT|TOFILE<文件>]功能:连续显示表(.DBF)的内容。说明:用户可根据自己的需要确定上面的任选项,组合LIST命令的各种功能、形式。在WHILE和FOR同时存在时,WHILE表达式有较高的优先权,而FOR子句用来过滤由WHILE挑选出的记录。例4.4USEDFLIST&&显示当前表文件的全部记录及记录号

LISTRECORD2&&只显示指定范围的记录,即第2号记录

GO2LISTNEXT2&&显示当前记录开始的两个记录

LISTREST&&显示当前记录开始至文件末尾的所有记录

LIST文档名,行文者名,摘要FOR行文时间=CTOD(“01/07/91”)&&显示行文时间等于1991年1月7日文档名、行文者名和摘要,并用打印机打出例题说明:CTOD是字符型转换为日期型的函数,对日期型字段进行操作必须配合有关函数。注意:要用LIST命令显示备注字段的内容时,必须在LIST之后指出该字段名,否则只能显示出Memo字样。DISPLAY命令格式:DISPLAY[OFF][<范围>][FIELDS]<表达式表>[WHILE<条件>][FOR<条件>][TOPRINT|TOFILE<文件>]DISPLAY命令除了以下几点外,其他与LIST命令功能作用相同。VFP的DISPLAY命令每显示一个窗口的信息暂停一次。用户打任意键继续显示,而LIST显示不暂停。DISPLAY命令省略范围选择项时,仅显示当前记录,而LIST命令则显示所有记录。例4.5

显示DF表的第2个记录的内容。

USEDFGO2DISPLAYOFF2.2显示表的结构格式1:LISTSTRUCTURE[TOPRINT|TOFILE<文件>]格式2:DISPLAYSTRUCTURE[TOPRINT|TOFILE<文件>]说明:这两个命令的作用是显示当前表文件的结构,包括文件名、表记录个数、表建立的日期、每个字段的定义以及一个记录的字节总数、备注字段的块长度等。如果表由一个结构复合索引,则该索引与表一起显示,选[TOFILE<文件>],可将信息输送到<文件>磁盘文件。例4.6

显示DF库的表结构。USEDFLISTSTRUCTURE这里,总计的宽度比累计的宽度大1,这个字节是系统记录删除标志用的。3.记录定位打开表有一个记录指针,有一些命令可以移动指针,定位命令是最直接的一种。表刚打开,指针总是指向第一个记录的位置,如有需要,可用GOTO命令或SKIP命令移动指针。格式1:GO[TO]RECORDn定位到n号记录

TOP定位到第1个记录

BOTTOM定位到最后一个记录格式2:n定位到n号记录,n可以是数值表达式例4.7

USEDFGOBOTTOMDISPLAYGOTOTOPDISPLAY3DISPLAY格式3:SKIP[+|-]作用:以当前记录为基准前移(-)或者后移(+)n个记录。说明:不选任何项,则默认n=+1,即SKIP=SKIP+1。n前不加符号,则默认为“+”,即SKIPn=SKIP+n。SKIP命令是相对移动,GOTO命令是绝对移动。SKIP命令上移不能超过首记录,下移不能超过末记录。例4.8

USEDF4(指针指向第4号记录)

N=-6SKIPN+4(等于SKIP-2)

DISPLAY注:用户也可以使用菜单的方法进行记录的定位。重要内容表文件结构的创建和修改输入表数据表的基本操作修改和删除记录数据1.修改表数据1.1按记录的字段纵向排列显示修改(EDIT和CHANGE)CHANGE[<范围>][FIELDS<字段名表>][WHILE<条件>][FOR<条件>]功能:显示要编辑或修改的字段。说明:EDIT命令与CHANGE命令等效。在CHANGE中不选[<范围>]任选项,表示默认所有记录。例4.9

用CHANGE命令修改文献表DF中行文者名为刘炎的那个记录的“行文地”为电脑世界,行文时间改为92/01/07。

USEDFCHANGEFIELDS行文地,行文时间FOR行文者名=“刘炎”计算机世界,01/07/91&&DF表中第3号记录此两字段的内容(注:用键盘将之分别改为电脑世界和01/07/92,按Ctrl+W键存储退出便可。)

LISTFOR行文者名=“刘炎”2.删除表记录2.1删除记录命令DELETE格式:DELETE[<范围>][WHILE<条件>][FOR<条件>][IN<工作区号>|<表别名>][NOOPTIMIZE]功能:给要删除的记录作删除标记。说明:本命令只给记录作删除标记;直到用PACK命令时,标记为删除的记录才从表中真正实现物理删除;被标记为删除的记录可以用RECALL来恢复(不标记)。例4.15

对DF.DBF文件中的4号记录作删除标记。

USEDF4DELETE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论