您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > visual foxpro 程序设计 第四章
1第4章自由表的建立与操作王兰2011.9.232主要内容建立表向表中加入记录数据的显示和修改方式控制字段和记录的访问数据表中记录的定位删除和恢复表中的数据快速修改表中的数据34.1建立表4.1.1定义表的结构在VisualFoxPro系统中,一张二维表对应一个数据表,称为表文件(Table)。定义数据表的结构,就是定义数据表的字段个数、字段名、字段类型、字段宽度及是否以该字段建立索引等。一张二维表由表名、表头、表的内容三部分组成,一个数据表则由数据表名、数据表的结构、数据表的记录三要素构成。4表4-1信息中心专门人才基本情况表文件的结构字段名字段类型字段宽度小数点索引否编号字符型8——主索引姓名字符型8——普通索引性别字符型2——出生日期日期型8——候选索引工资现状数值型102——党员否逻辑型1————工作简历备注型4————照片通用型4————54.1.2利用表设计器创建表两种方法,分别是:一、系统菜单法。二、使用create命令。6利用表设计器创建表的操作步骤文件新建新建文件表的名字表设计器字段名字字段类型字段宽度字段索引保存7二、create命令使用create命令创建表,命令为creatercda使用createtable命令可直接创建表及定义结构,命令为:Create表名CreateTable表名([字段名1]类型(长度)[,[字段名2]类型(长度)……])Createtablercda(编号character(8),姓名character(8),;性别character(2),出生日期data,工资现状numeric(10,2),;工作简历memo,照片general)84.1.3表的打开与关闭打开:Use[表名.dbf][In工作区号/别名][Again][Alias别名][Exclusive]/[NoupdateShared]In工作区号别名:指定打开表的工作区号;Again:可以在某一工作区中打开已在其他工作区中打开的表。Alias别名:打开表的同时定义表的别名;Exclusive:以独占方式打开表;Noupdateshared:以只读方式打开表。关闭:closeall关闭所有打开的表;closetables关闭当前数据库中所有打开的表;closetablesall关闭所有数据库中所有打开的表及自由表。9修改表结构的操作步骤---菜单文件打开表的名字表设计器增加删除修改保存4.1.4利用表设计器修改表结构修改表结构的操作步骤---命令命令格式:modifystructure命令功能:修改当前数据库中当前表的结构。在表“rcda”中插入一个新字段“党员否”?104.1.5利用表向导创建表使用表向导创建表,就是把已有的表作为“样本”,在向导的引导下,通过筛选、修改操作完成新表的创建过程。例:把表“rcda”作为表“样本”,创建一个新的数据表“rcda1”。其中:表“rcda1”的结构含“编号”、“性别”、“工资现状”和“照片”字段,这些字段的属性与表“rcda”中的“编号”、“性别”、“工资现状”和“照片”字段相同。11操作步骤如下:(1)“文件”菜单“新建”得到如下图所示12(2)选择“表”,再按“向导”按钮,进入表向导的步骤1窗口,如下图所示:13(3)选择样表“rcda”,按“加入”按钮。14(4)点击“下一步”,确定是否将表添加到数据库中。15(5)点击“下一步”,对已选字段进行修改和确认166)点击“下一步”,为表建立索引,现在可建可不建。17(7)点击“下一步”18(8)点击“完成”,输入新建表的名字“rcda1”,然后保存。194.2向表中加入记录4.2.1创建表时立即输入数据在创建表时,如果表中所有字段的属性已定义完成,可按“确定”按钮保存表结构,同时打开“系统”窗口,显示“现在输入数据吗?”对话。选择“是”按钮,可以立即进入表“浏览”或表“编辑”窗口,在该窗口便可完成表中数据的输入。204.2.2以追加方式输入数据在创建表结构时,如果没有选择立即方式向表输入数据,可以用追加数据方式向表输入数据。两种方式:一、菜单方式二、命令方式Append[Blank]blank表示空白记录。21以追加方式输入数据的操作步骤显示浏览追加显示浏览追加编辑22编号姓名性别出生日期工资现状党员否工作简历照片bj10001刘伟箭男1960.08.232000.00T(略)(略)bj11002刘简捷男1958.12.311800.00T(略)(略)gz05001藤波海男1956.04.141160.00F(略)(略)gz05002杨行东男1949.03.301260.00F(略)(略)jl04001林惠繁女1969.02.038000.00T(略)(略)jl04010黄晓远男1970.08.1210000.00F(略)(略)sy02030李鹏程男1946.02.083000.00F(略)(略)sy02035王国民男1935.05.205000.00F(略)(略)sh01001金银桥女1969.01.242000.00F(略)(略)sh01002林立荞女1964.08.164500.00F(略)(略)234.2.3备注型数据的输入在“编辑”窗口或“浏览”窗口,把光标移到备注型字段下双击,即可进入备注字段的编辑窗口。在这个窗口内,可以输入或修改备注型数据。4.2.4通用型数据的输入在“编辑”窗口或“浏览”窗口,把光标移到通用型字段下双击,即可进入通用型字段的数据编辑窗口。将上表中的”通用型“数据和”备注型“数据输入到表中。244.3数据的显示和修改方式4.3.1用编辑方式显示和修改数据在表“编辑”窗口,可以采用“编辑”方式显示和修改表中的数据。4.3.2用浏览方式显示和修改数据在表“浏览”窗口,可以采用“浏览”方式显示和修改表中的数据。4.3.3用两种方式同时显示和修改数据在表“浏览”窗口,左下角有一个小竖黑条。254.3.4用Browse命令和List命令浏览、修改数据Browse[范围][Fields字段名表][For条件表达式命令功能:在浏览窗口中显示或修改当前表。其中,fields字段名表:指对包含字段名表所列的字段进行操作。for表达式:指对满足条件的记录进行操作。例:在表”浏览“窗口,浏览表”rcda“中的全部数据。UsercdaexclusiveBrowselast264.3.4用Browse命令和List命令浏览、修改数据List/Display[范围][Fields字段名表][For条件表达式][ToPrinter][ToFile文件名]命令功能:在显示器上按系统格式显示当前表中的数据。其中:toprinter:显示结果在显示器和打印机上同时输出。tofile文件名:显示结果在显示器输出,同时写入数据表中。例:在显示器上显示表”rcda“中的所有男同志的数据。Usercdaexclusivelistfor性别=”男“274.4控制字段和记录的访问4.4.1限制对字段的访问限制字段的访问,可以通过设置“字段选择器”来完成。操作方法是:打开要使用的表,在“工作区属性”窗口,利用“字段选择器”筛选出有用的字段,步骤:”显示“-”浏览“-表属性-工作区窗口-字段筛选或在对记录操作的命令中选择“Fields字段名表”短语。限制对字段的访问,实质上是限定表中数据的”列“数。28限制对字段的访问的操作步骤文件打开表的名字显示浏览表属性字段筛选字段选择器保存294.4.2限制对记录的访问在对记录进行访问时,用户可以根据需要限定表中记录的使用范围,只对某一时期或某一问题的有用数据进行操作。限制记录的访问方法是:在“工作区属性”窗口,选择“数据过滤器”文本框,输入记录的筛选条件;或按文本框后面的按钮,进入“表达式生成器”窗口,在这一窗口输入记录的筛选条件,再确认限制访问的记录即可结束操作。限制对记录的访问。实质上市限定数据表中的”行“数。30限制对记录的访问的操作步骤文件打开表的名字显示浏览表属性数据过滤器浏览保存31数据表中的定位的操作步骤文件打开表的名字显示浏览表转到记录第一个定位确定或一、菜单方式324.5数据表中记录的定位二、命令方式(1)GoTop确定当前表中第一个记录为当前记录。(2)GoBottom确定当前表中最后一个记录为当前记录。(3)Go算术表达式确定当前表中记录号与算术表达式值相同的记录为当前记录。(4)Skip算术表达式将当前表中记录指针相对移动若干个记录,当算术表达式的值大于0时,向下移动;否则,向上移动。33二、命令方式(5)Locate[范围]For[条件表达式]确定当前表中指定范围内,第一个满足条件表达式的记录为当前记录。(6)Continue只能与locate一同使用,将满足locate条件的下一个记录确定当前记录。34Usercda.dbfexclusiveBrowselastGobottomBrowselastGo5BrowselastSkip+1BrowselastLocateallfor.not.党员否BrowselastSkip-1BrowselastLocateallfor性别=“女”BrowselastGotopBrowselast354.6删除和恢复表中的数据4.6.1逻辑删除表中的记录逻辑删除就是给暂时不使用的记录加一个删除标记。另外,对需要彻底删除的记录,也必须要先做逻辑删除后再做物理删除。Delete[范围]For[条件表达式]4.6.2恢复表中逻辑删除的记录对加上逻辑删除标记的记录,如果还想恢复其使用权,可对其进行恢复记录的操作。Recall[范围]For[条件表达式]364.6.3物理删除表中的记录物理删除就是把无效的记录彻底从磁盘中删除掉。若要想彻底删除表中部分无效的数据,必须先做逻辑删除后再做物理删除,若要想彻底删除表中全部无效的数据,也可直接做物理删除。PackZap374.7快速修改表中的数据(1)Edit/Chang命令Edit/Chang[范围][Fields字段名表][For条件表达式]修改当前表中指定范围,满足条件表达式的记录中的指定字段的数据。(2)Replace命令Replace[范围]字段名1With表达式1[字段名2With表达式2…字段名nWith表达式n][For条件表达式]修改当前表中指定范围,满足条件表达式的记录中的指定字段的数据,用表达式的值替换对应的字段值。38例:(1)usercda.dbfexclusivebrowselast(2)editallfields性别,姓名for性别=”女“.and.姓名=“金银桥”将其性别改为男(3)browse(4)changallfields姓名forsubstr(姓名,1,2)=“林”将姓名为”林立荞“的记录修改为”林立骄“(5)bowse(6)replaceall工资现状with工资现状+1000browse
本文标题:visual foxpro 程序设计 第四章
链接地址:https://www.777doc.com/doc-3970352 .html