文档详情

VFP第3章数据管理与维护_表的基本操作

飞***
实名认证
店铺
PPT
3.09MB
约74页
文档ID:4893682
VFP第3章数据管理与维护_表的基本操作_第1页
1/74

表的操作包括创建表,修改表、修改记录、删除表、删除记录、增加表记录、复制表文件等Visual FoxPro表(Table)由“表结构”和“数据”两部分构成创建一个数据表,分两步进行:第1步,设计和建立表结构;第2步,输入表数据§3.1数据表结构的基本操作,一.表结构的设计 例如:表学生.DBF结构为:学生(学号 C(8),姓名 C(8),性别 C(2),出生年月 D,入校总分 N(3),三好生 L,特长 M,照片 G)1.字段属性:字段名:以字母或汉字开头,由字母、汉字、数字和下划线组成,自由表字段名的长度最多10个字符,数据表字段名的长度最多128个字符字段类型:常用的字段类型有C型、N型、L型、D型、M型和G型等字段宽度:允许字段存储的最大字节数小数位数: N型字段有小数位数,当只取整数部分时,小数部分定义为0说明】M型/G型字段宽度为4个字节,用于存储一个指针(即地址),该指针指向.FPT文件中存储备注型/通用型字段内容的地址备注型/通用型内容存放在与表同名、扩展名为.FPT的备注文件中备注文件随着表文件的打开而自动打开,如果备注文件被破坏或丢失,则表就再也打不开了二.建立表结构 1.命令方式命令1:CREATE<新表文件名>功能:打开表设计器创建一个新表结构。

自由表)命令2(SQL命令):CREATE TABLE<新表文件名>(<字段名1><类型>(<长度>)[,<字段名2><类型>(<长度>)…] (数据库表)参考P.107~108功能:直接创建一个新表结构例:创建学生.DBF的表结构2.菜单方式:例:用菜单方式创建表结构,表文件名为学生.dbf完成字段属性的设定后,单击“确定”按钮,出现“现在输入数据记录吗?”对话框,回答Y,进入记录编辑窗口开始输入数据回答N,退出记录编辑窗口,磁盘上保存了一个只有表结构的数据表文件“学生.dbf”三.表数据的输入 ⑴字段名右边的“光带”表示该字段的宽度⑵编辑M型/G型字段,M型字段标识变为大写Memo,G型字段标识gen变为大写Gen数据保存在备注文件.FPT中⑶M型字段是一个可变的长字段(最大64KB),剪切、复制、粘贴其中的文本例:在学生.DBF的G型字段照片中插入图形鼠标双击G型字段,利用“编辑”菜单的“插入对象”命令,在“插入对象的对话框”中选择图像一.表的打开与关闭 对一个表操作之前,必须打开它打开表文件是将表从外存调入内存工作区结束表文件的操作后,要关闭表关闭表就是将内存工作区的数据保存到表文件(外存)中,并释放该文件所占的内存空间。

§3.2表的基本操作,1.打开表命令:USE [<文件名>][索引文件名表]功能:在当前工作区打开一个表文件①打开表中如果含有M型/G型字段,与之相关的.FPT文件也随之打开②任何时候,一个工作区只允许打开一个表③打开表时,记录指针总是指向表的第一条记录④修改表结构时,应选择打开对话框“独占”选项,否则,该数据文件不可修改界面操作方式①“文件”→“打开”→选择表名②利用数据工作期命令打开表2.关闭表①USE 关闭当前工作区表②CLERA  ALL 关闭所有打开表,并释放内存变量,但不释放系统变量③CLOSE  ALL 关闭所有打开文件,但不释放内存 ④CLOSE  DATABASE [ALL] 关闭指定数据库中的表和自由表 ⑤CLOSE  TABLES [ALL] 关闭表,⑥利用数据工作期命令关闭表⑦QUIT 关闭所有文件,并退出Visual FoxPro⑧菜单方式:“文件”→“退出”命令,或单击程序窗口的关闭按钮,通过退出Visual FoxPro来关闭表二、修改表结构1.利用表设计器:,2.利用命令修改表结构命令:MODIFY STRUCTURE提示:使用命令方式修改表结构时,表文件必须事先打开。

修改表结构时,应注意几个问题: 修改字段类型,原数据信息全部丢失;减少字段宽度,原数据中超宽部分丢失;删除字段,原数据信息全部丢失新增加的字段数据全部为空修改表结构,将产生扩展名为.BAK的备份文件利用命令LIST STRUCTURE可以显示表结构总计字段=各字段字节数+1,三.记录定位表文件中,任何时候只有一条记录是当前可操作对象,这条记录称为“当前记录”打开表文件,记录指针总是指向第一条记录将记录指针移向指定操作的记录,叫:记录定位记录定位分为“绝对定位”和“相对定位”1.绝对定位命令1:GO   命令2:GO TOP命令3:GO BOTTOM菜单方式:打开表,利用菜单操作进行记录定位例:记录指针绝对移动示例USE 学生 ?RECNO( )      当前记录的记录号为1GO 4              指针定位到第4条记录?RECNO( )      当前记录的记录号为4GO BOTTOM     指针定位到记录尾(最后1条记录)?RECNO( )      显示最后一条记录的记录号GO TOP         指针定位到记录首(第1条记录) ?RECNO( )      显示首记录的记录号USE,2.相对定位 命令:SKIP[n] 菜单方式:打开表,利用菜单操作进行记录定位。

功能:将记录指针从当前记录位置开始移动n个位置n>0时,指针向下移动n个位置;n<0时,指针向上移动n个位置;省略n时,指针向下移动一个位置例:记录指针相对移动示例USE 学生?RECNO( ),BOF( )  当前记录号为1,.F.SKIP 5     指针相对定位到6号记录SKIP -3   指针定位3号记录SKIP        指针定位到4号记录区别文件头(BOF),文件尾(EOF),记录首(TOP),记录尾(BOTTOM)BOF=TOP-1EOF=BOTTOM+1,四.记录的显示1.显示记录命令 命令:DISPLAY|LIST[[FIELDS]<表达式表>][<范围>][FOR/WHILE<条件>][OFF][TO PRINT]功能:显示表中指定范围内、满足条件的记录,或指定记录送至指定目的地2.浏览窗口命令:BROWSE[ [FIELDS]<字段名表>][FOR<条件>] 菜单:文件→打开→表→显示→浏览,①BROWSE有20多个命令子句 ②浏览窗口有编辑和浏览两种格式 ③一窗两区:,五.复制文件从表文件中选取某些记录或某些字段构成一个新表,叫“表的复制”;从表文件中只选取某些字段构成一个新的表结构,叫“表结构的复制”。

1.复制任何类型的文件 格式:COPY  FILE <文件名1> TO <文件名2>⑴如果<文件名1>是表文件,则须关闭该表文件后再复制⑵<文件名1>和<文件名2>均可使用通配符?、*例:USECOPY FILE 学生.DBF TO 学生情况.DBFCOPY FILE 学生.FPT TO 学生情况.FPT 或:COPY FILE 学生.* TO 学生情况.*       COPY FILE  139.prg TO 139_1.prg,2.复制表文件从一个表复制得到另一个表或其它文件 命令:COPY  TO <文件名>[范围][FOR<条件>][FIELDS <字段名>]例:复制表文件示例USE 学生COPY TO XS1LISTUSE XS1,USE 学生COPY TO XSH2 FIELDS 学号,姓名,性别 FOR 三好生USE XSH2LIST,例:将XSCJ.DBF中学号,姓名,微机基础和XSDA.DBF中该学生的奖惩情况复制到XSNX.DBF中SELE 1USE XSCJSELE 2USE XSDASELE 1COPY  TO  XSNX FIELDS 学号,姓名,微机基础,B.奖惩情况  FOR 学号=B.学号SELE 3USE  XSNXLIST,(3)复制表结构命令:COPY STRUCTURE TO <文件名>[FIELDS<字段名表>]①命令执行后,新表中只有表结构,没有记录。

例:由学生.dbf复制得到新表xsh3,该表结构包含学号,姓名,性别,出生年月4个字段USE 学生COPY STRU TO xsh3 FIELDS 学号,姓名,性别,出生年月USE xsh3LIST STRU,六.表数据的修改1.记录的插入和追加 ⑴插人新记录格式:INSERT [BEFORE] [BLANK]例:USE 学生GO 4INSERT BEFORE BLANK,⑵追加新记录APPEND命令格式:APPEND [BLANK]①键盘操作命令:^Y②界面操作方式:表菜单→“追加新记录”命令→追加一条新记录⑶INSERT-SQL命令(参考P.111)格式1:INSERT  INTO 表名 (字段名1[,字段名2,…]) VALUES(表达式1[,表达式2,…])功能:在表尾追加一条新记录,把表达式值直接馈入指定字段名中例:在学生.DBF表中末尾追加1条记录INSERT INTO 学生(学号,姓名,性别,出生年月,入校总分,三好生) VALUES("s0201111","唐日新","女",CTOD("09/11/1984"),555,.T.),格式2:INSERT INTO 表名 FROM ARRAY 数组名|内存变量功能:将数组/内存变量值追加到当前记录尾部。

例:DIME  ASD(3)ASD(1)="98129123"ASD(2)="李林"ASD(3)="女"INSERT  INTO XUESGENG  FROM  ARRAY  ASD,⑷APPEND FROM 命令 格式:APPEND FROM<文件名>[FIELDS<字段名表>][FOR<条件>] 说明:(1)FIELDS<字段名表>中字段必须是当前表中已经存在的字段2)执行该命令时,要关闭源表文件3)界面操作:表菜单→“追加记录”命令→追加多条记录例:将学生.DBF表中男同学记录追加到表XUESHENG.DBF的末尾 USE XUESHENGAPPEND FROM 学生 FOR 性别=“男”;FIELDS 学号,姓名,性别,七.记录的删除与恢复 删除表记录分两步进行,先逻辑删除,再物理删除逻辑删除:给记录作删除标记逻辑删除”又称“假删除”,可用恢复命令去掉删除标记物理删除:将有删除标记的记录从表文件中剔除掉,不再占有记录位置物理删除”又称“真正删除”,且不可恢复1.逻辑删除命令 命令:DELETE[<范围>][FOR<条件>] 菜单:“文件”菜单→打开→表→“显示”菜单→浏览→“表”菜单→“删除记录” 说明:使用函数DELETE( ),判断某条记录是否被逻辑删除。

例:逻辑删除示例USE 学生 DELETE ALL FOR 入校总分<=570GO  4?DELETE()   屏幕显示:.T.GO  7?DELETE()   屏幕显示:.T.GO  10?DELETE()    屏幕显示:.F.,2.恢复逻辑删除记录命令命令:RECALL [范围][FOR条件]说明:(1)省略选项,只恢复当前记录2)直接点击记录左侧的矩形框,可进行逻辑删除(矩形框由白变黑)或取消逻辑删除标记(矩形框由黑变白)3)菜单方式: “显示”菜单→浏览→“表”菜单→“恢复记录”3.物理删除命令命令:PACK菜单方式:“显示”菜单→浏览→“表”菜单→“彻底删除”功能:删除当前表中所有已作过逻辑删除的记录,且不可恢复例:物理删除示例USE 学生DELETE RECORD 11DELETE ALL 姓名=SPACE(9)DELETE FOR 姓名=“吴红梅”PACK,。

下载提示
相似文档
正为您匹配相似的精品文档