您好,欢迎访问三七文档
第三章表的基本操作3.1建立表一、表结构的建立1、命令方式命令格式:(1)CREATTABLE新表文件名(字段名1类型(长度))[,字段名2类型(长度)……]例如:CREATTABLE选课表(学号C(8),课程号C(4),成绩N(3))(2)create[表名|?]例如:createxsda2、菜单方式文件菜单-新建-表-新件文件注意:希望大家能有好的保存习惯设置默认目录方法:1、工具=选项=文件位置=默认目录2、setdefaultto完整路径如:setdefatoe:\vf二、数据的输入1、立即输入(1)、备注型数据的输入方法:光标定位“memo”处,双击鼠标。输入、编辑结束后,点击编辑窗口的“关闭”按钮,VFP会自动将修改后的数据保存)返回到数据输入的正常状态;按Ctrl+Q或Esc键则清除当前输入的信息,返回到数据输入的正常状态。(2)、通用型数据的输入(同上)打开窗口后,通过VFP的“编辑”菜单的“粘贴”或“插入对象”选项来完成注意:1、数据输入时不要有空格2、关闭就存盘3、如字段名输错、字段宽度或类型设计错、多输或少输了字段名、字段位置调整可使用:(1)显示菜单-表设计器(2)在命令窗口中输入命令Modifystructure(3)如果字段值需要修改,可输入命令browse。或点击显示菜单的“浏览”和“编辑”选项也可以进行操作。(4)如果要添加新的记录输入append。或在“显示”菜单里选择“追加方式”选项4、备注型:宽度为4。系统默认显示为memo或者Memo(有内容时)通用型:宽度为4。系统默认显示为gen或者是Gen(有内容时)4个字节存放的是地址指针,指向备注文件(文件名和表文件名一样,扩展名为.FPT)对应的内容。重要提示:只要表中有备注或者通用字段(不管是一个或者多个),或者两个同时都有,系统就会自动产生一个与表文件名相同的备注文件,扩展名为FPT。用于存放备注型和通用型字段的内容3.2表的打开、显示和关闭一、打开表1、打开表(1)命令方式【格式】USE表文件名|?【功能】在当前工作区打开一个表文件注:表文件名如没有加路径则默认打开c:\programfiles\microsoftvisualstudio\vfp98下的表文件。在打开表文件的同时同名的备注文件和复合索引文件也同时打开(2)菜单方式单击“文件”菜单中的“打开”选项(打开时请将“独占”选项选中,否则表不能进行修改)注意:(1)、表建立时就会被打开。(2)、表是否被打开可查看状态栏是否显示有表名。或看“显示”菜单。在窗口上是不会有任何的显示。想要查看记录可用命令或选择菜单项来完成。二、关闭表命令方式【格式1】USE功能:关闭当前工作区中正打开的表文件及其索引文件。【格式2】CLOSEALL关闭所有工作区中打开的数据库、表和索引,并选择工作区1。CLOSEALL也关闭任何用FCREATE()和FOPEN()低级文件功能打开的文件。CLOSEALL关闭:表单设计器项目管理器标签设计器报表设计器查询设计器但CLOSEALL不关闭:命令窗口调试窗口帮助系统跟踪窗口【格式3】CLOSEDATABASES[ALL]关闭当前数据库和表。若没有当前数据库,则关闭所有工作区内所有打开的自由表、索引和格式文件,并选择工作区1。【格式4】CLOSETABLE[ALL]关闭所有当前选中数据库中的所有表。若没有已打开的数据库,则CLOSETABLES关闭所有工作区内的自由表。包含ALL可以关闭所有数据库中的所有表以及自由表,但所有数据库保持打开。【格式5】CLOSEALL功能:关闭所有工作区中的所有表及各类型文件,并释放内存变量。三、表记录的显示1、显示文件记录的两个命令(list和display)LIST[OFF][范围][FIELDS字段名表][FOR/WHILE条件][TOPRINTER|TOFILE文件名]【功能】:显示当前表文件中指定的记录和字段的内容。【说明】:(1)范围:用于确定执行该命令涉及的记录。有如下几种all:全部记录nextn:从当前记录开始的N条记录recordn:第N条记录rest:当前记录起到最后一条记录为止的所有记录、范围:所有记录(all)或者第几条记录(recoredn)或者从多少条到多少条(nextn)或者从当前一直到最后一条(rest)注意:如没指定范围,则LIST命令默认范围为ALL(即全部记录);DISPLAY默认范围为当前记录。例如:Use学生登记表DISPLISTGO2LISTNEXT3LISTRECORD4GO3LISTRESTLISTALL(2)FIELDS子句:用于确定需要操作的字段例如:Use学生登记表Listfields学号,姓名,性别,入校总分GotopListnext3fields学号,姓名,出生年月(3)for条件:条件为逻辑表达式,用于指定选择记录的条件。在LIST命令中没有指定范围时默认是所有的记录中筛选。例如:Use学生登记表Listfor入校总分570.00&&显示入校总分大于570的记录Listforleft(姓名,2)=“李”&&显示姓李的同学Listforsubstr(姓名,1,2)=“李”and性别=“男”&&显示姓李的男生GotopListrestforyear(出生年月)1980and性别=女or入校总分580fields姓名,性别,出生年月,入校总分优先级:for/while条件的优先级最高然后是范围,最后才是list和display(4)while表达式:用于条件筛选,但仅在当前记录符合条件时开始筛选,一旦遇到不满足条件的记录时就停止筛选。例如:GotopListwhileleft(姓名,2)=“魏”Go2Listwhile性别=“男”注意:FOR子句默认范围是全部记录筛选While子句则遇到不满足条件的记录就停止(5)[OFF]选项:在命令中使用时不显示记录号(6)Toprinter:到打印机Tofile文件:这里的文件类型是TXTList和display异同:1、list默认显示是全部记录,display默认显示是当前记录2、如有多条记录,LIST以滚动方式输出,DISPLAY以分屏方式输出3、如命令中指定了条件或范围,则两条命令结果相同思考下列命令的显示结果:Use学生登记表Disp?recno(),eof(),bof()List?recno(),eof(),bof()disp2、浏览窗口显示记录(了解)BROWSE[[FILESD]字段名表[FOR条件[REST]]【功能】:打开浏览窗口四、记录指针的定位1、记录指针的绝对移动(1)命令方式【格式】GO[TO][RECORD]数值表达式|top|bottom【功能】将当前表文件的记录指针定位到指定记录号的记录处。【说明】A、数值表达式选项代表所要定位记录的记录号,该记录号不能小于1也不能大于记录总数加1。B、TOP选项代表将当前表文件的记录指针定位到第一个记录(首记录)C、BOTTOM选项将当前表文件的记录指针定位到最后一个记录(尾记录)注:相关函数说明:(1)RECNO():显示当前记录号(2)BOF():beginoffile:文件开始,第一条记录的前面,记录号为1(3)EOF():endoffile:文件结束,最后一条记录的后面,记录号为最后一条记录的记录号+1例如:use学生登记表?recno()&&测试当前记录号,显示为1GO4&&将记录指针指向第4条记录?Recno()&&测试当前记录号,显示为1Gobottom?Recno()&&显示最后一条记录的记录号Gotop?recno()&&显示首记录的记录号2、记录指针的相对移动【格式】SKIP[数值表达式]【功能】以当前表文件的当前记录位置为基准,记录指针向前或向后移动数值表达式值到相应的记录位置。【说明】(1)数值表达式选项代表相对移动的记录数。若数值表达式值为正数则向文件尾的(2)方向移动记录指针;若数值表达式值为负数则向文件头的方向移动记录指针。若缺省,相当于执行SKIP1,则指针向表尾移动一个记录。⑶若执行此命令前执行了SETDELETEDON命令,则SKIP命令将不把具有删除标记的记录计算在内。(了解)例如:use学生登记表?recno(),bof(),eof()&&显示为1.f..f.Skip-1?recno(),bof(),eof()&&显示为1.t..f.Skip3?recno(),bof(),eof()&&显示为4.f..f.Skip?recno(),bof(),eof()&&显示为4.f..f.Skip2?recno(),bof(),eof()&&显示为6.f..t.3.3显示和修改表结构一、显示表结构【格式1】LISTSTRUCTURE【格式2】DISPLAYSTRUCTURE二、修改表结构(1)显示菜单-表设计器(2)在命令窗口中输入命令Modifystructure3.4向表中输入记录1、追加记录(1)菜单方式方法:“显示”菜单-“追加方式”选项(2)命令方式APPEND[BLANK]功能:在已打开的当前表的末尾追加一个或多个记录。说明:①使用BLANK是在表尾追加一条空白记录,但不进入编辑窗口。②如要要追加多条记录,则需选择“显示”菜单中的“追加方式”命令。其他命令方式的和“追加新记录”只能追加一条记录2、插入新记录INSERT[BLANK][BEFORE]功能:在当前打开表文件中的当前记录指针位置处插入新记录。说明:⑴使用BEFORE子句能在当前记录之前插入新记录,缺省该子句则在当前记录之后插入新记录。(2)使用BLANK子句立即插入一条空白记录,缺省该子句则出现记录编辑窗口,等待用户输入记录。例如:insert:在当前记录后插入新记录insertbefore:在当前记录前插入新记录insertblank:在当前记录后插入空白记录insertblankbefore:在当前记录前插入空白记录3、INSERT-SQL命令INSERTINTO表名[(字段名1[,字段名2,……])VALUES(表达式1[,表达式2,……])功能:在表尾追加一条新记录,并将数据存入该记录中。说明:①表不必事先打开,字段与表达式的类型必须相同。②若字段名全部缺省,就须按表结构字段顺序填写VALUES子句的所有表达式。例如:INSERTINTO学生登记表(学号,姓名,性别,入学成绩)VALUE(“00204”,”张三”,“男“,582.00)4、数据表内容的批量增加APPENDFROM命令命令:APPENDFROM文件名[FIELDS字段名表][FOR条件][[TYPE][DELIMITED[WITH定界符|WITHBALNK|WITHTAB]|XLS|SDF]]功能:在当前表尾追加一批记录,这些记录来自于另一个文件。说明:①源文件的类型可以是表,也可以是系统数据格式、定界格式等文本文件,或EXCEL文件。②源文件默认类型是表,如是其他类型文件,需用TYPE子句。③执行此命令时源文件不需要打开。例如:APPENDFROMWENJIAN.TXTTYPEDELIMITEDWITH“,”&&将文件名为WENJIAN,用“,”作为定界符的文本文件中的所有记录追加到当前表中。3.5复制表结构和表文件一、表的复制1、复制任何类型的文件命令:COPYFILE文件名1TO文件名2功能:把文件1做个副本得到文件2注:⑴若对表文件进行复制,该表必须处于关闭状态。(2)文件名1和文件名2中可使用通配符“*”和“?”。但文件1和文件2中的通配符位置必须相同。(3)文件1如果不写明路径则在当前目录下找,复制后的文件2如果标明路径则也保存在当前目录下。例如:copyFILE学生.*TOA:\学生.*&&将当前目录里的所有以学生为主文件名的文件拷贝到A盘的根目录下copyfilexsda.dbf
本文标题:第三章表的基本操作
链接地址:https://www.777doc.com/doc-2182940 .html