资源预览内容
第1页 / 共31页
第2页 / 共31页
第3页 / 共31页
第4页 / 共31页
第5页 / 共31页
第6页 / 共31页
第7页 / 共31页
第8页 / 共31页
第9页 / 共31页
第10页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第11章 FoxPro 数据库 基本操作,表结构的基本操作,表结构的建立 表结构的显示 表结构的修改 表结构的复制,表记录的基本操作,记录的添加记录的浏览 记录的显示记录的定位 记录的插入记录的删除 记录的编辑记录的替换 记录的复制记录的追加,本章内容,尖括号中的内容为说明性文字,使用时要换成具体的内容 方括号中的内容为任选项,在使用时可选可不选 | 竖线两边的项目在使用时只能取其中之一,不能同时都选 表示前面的项目可以根据需要重复多次,项目之间要用逗号隔开 示例: Dir GO TOP | BOTTOM ?, ,1、命令格式书写约定(p360),Visual FoxPro命令格式, 以下是常见限定性短语的几种格式 (1)指定命令操作的记录范围 ALL,NEXT,RECORD ,REST (2)FOR 指定命令满足的条件 (3)WHILE 指定命令继续执行的条件 (4)FIELDS 指定命令操作的字段 示例: EDIT ALL FOR 班级=2001中文专 COUNT ALL FOR 成绩60 TO chengji COPY TO dabase1 ALL FOR 性别=男,2、FoxPro命令的一般格式,命令动词与限定性短语之间,或限定性短语之间至少要用 一个空格分隔。 命令的最大长度为8192个字符,若一条命令太长可以用分号(;)隔开 FoxPro的命令动词、限定性短语、函数名、变量名和文件名中的英语字母不分大小写 保留字不能作为文件名、字段名、变量名和数组名,3、FoxPro命令书写规则(p361),4、FoxPro命令的输入与执行 命令的输入位置在命令窗口中 命令的执行按回车 命令窗口的打开与隐藏 5、在FoxPro系统下的磁盘操作命令(p362) 设置当前驱动器和目录 SET DEFAULT TO 例如:set default to d:2004,总宽度与小数宽度的差要大于等于2,定义时请遵循课本P363页的五项原则,自由表结构操作,表是数据库管理的基本对象 对于表结构的操作包括:建立、显示、修改、复制 一、表结构的建立: 1、确定表结构的属性,包括: 字段名: 自由表中字段名最长10个字符,不能以数字开头, 一个汉字占两个字符 字段类型:C字符型;N数值型;D日期型;L逻辑型; M备注型; G通用型 字段宽度:字符型最大为254; 数值型最大为20,小数最大为18位(包括符号位和小数点) 日期型为8位(系统默认) 逻辑型为1位(系统默认) 备注型和通用型为4位(系统默认),一、表结构的建立: 2、建立表结构 命令方式:CREATE 盘符路径.DBF,如省略,默认为当前盘当前文件夹,可以利用:SET DEFAULT TO 盘符路径设置当前文件夹,如省略,默认为DBF,如省略,系统将自动打开创建对话框,询问主文件名,例如:create student,自由表结构操作,一、表结构的建立 进入表设计器中后,按前面设计的表结构输入字段名、类型、宽度(数值型还需输入小数宽度),是否索引(见12章)、是否允许空值(NULL)等。可做插入删除操作。 完成后可单击“确定”按钮或按+组合键存盘,出现是否输入记录对话框,点击“是”或“否”退出。 注意:如果表结构中有备注型字段,则系统将在磁盘中建立一个主文件名与表主文件名相同,扩展名为FPT的备注型文件,在做文件的复制移动操作时要同时选中进行操作,否则复制或移动后表文件将不能使用。,自由表结构操作,二、表结构的显示 以命令方式进行 LIST / DISPLAY STRUCTURE TO PRINTER,连续显示全部信息,满屏暂停,将表结构输出到 打印机,注:此操作针对于当前已经打开的数据库,自由表结构操作,三、表结构的修改 1、命令方式: MODIFY STRUCTURE 2、菜单方式: “ 显示/表设计器”命令 可以对字段属性进行修改,可以添加、删除、移动(按住字段前方块不放,上下移动鼠标)字段。但为了保证已有数据的安全性和完整型,应遵循以下规则: 1、不可同时修改字段名和类型 2、不可同时修改字段名和宽度 3、插入/删除字段的同时又修改其它字段的字段名,自由表结构操作,四、复制表结构 COPY STRUCTURE TO 盘符路径 .DBF FIELDS ,复制后的新表文件名,新表中包含字段,中间用逗号分隔,如省略,则包含所有字段,例如:set default to d: 2004 use student copy structure to st1.dbf fields 学号,姓名 use st1 list,注:此命令只复制结构而不复制记录。,自由表结构操作,小节:本节学习的主要内容为: 1、表结构的建立:CREAT 2、表结构的显示: LIST STRU / DISP STRU 3、表结构的修改:MODIFY STRUCTURE 4、表结构的复制:COPY STRUCTURE TO 其中,显示、修改、复制命令主要针对于当前已打开的数据库(打开方法见下节),应当熟练掌握表结构的建立。,自由表结构操作,记录的添加 APPEND 记录的浏览 BROWSE 记录的显示 LIST/DISP,记录指针 绝对定位 相对定位,逻辑删除 逻辑恢复 物理删除,记录的插入 INSERT 记录的删除 DELE/RECALL/PACK,记录的编辑 EDIT/CHANGE 记录的替换 REPLACEWITH 记录的复制 COPY TO 记录的追加 APPEND FROM,记录的定位 GO/GOTO/SKIP,表记录的操作,1、 表结构建立完成存盘退出时,在是否输入数据对话框中如果选择了“是”,则直接进入添加记录的编辑窗口中。另外,再次添加记录时可使用以下命令: APPEND BLANK,2、常用编辑键:见课本P371页,表记录的添加编辑,只在表文件的最后添加一条空白记录而不进入到编辑窗口中,NEXT,3、备注型字段的编辑(p371) 将光标移到备注型字段上后,利用+或+组合;或利用鼠标双击备注字段后即可进入备注字段编辑窗口中,输入完成后利用+键存盘退出。编辑方法等同“记事本”操作。 4、通用型字段的编辑 打开方法同备注型字段 在“编辑” “插入对象”后选择要存放的对象类型,表记录的添加编辑,BROWSE FIELDS LOCK FREEZE NOAPPEND NOMODIFY NODELETENOMENU,FIELDS 指明浏览的字段名,中间用逗号分隔 LOCK 锁定浏览窗口左边的若干字段,个数由数值表达式确定 FREEZE 光标只能在指明的中移动 NOAPPEND 禁止追加记录 NOMODIFY 禁止修改记录 NODELETE 禁止删除记录 NOMENU 在菜单栏中不显示“表”菜单项。“表”菜单项可以对记 录进行删除、追加、调整等一系列操作,表记录的浏览,LIST/DISPLAY FIELDS FOR WHILE OFF TO PRINTER,1、范围:,ALL 所有记录 NEXT 从当前记录开始的n条记录 RECORD 记录号为n的记录 REST 从当前记录到最后一条记录,2、FOR :显示所有符合条件的记录 WHILE:显示第一条不符合条件记录以前所有符合条件的记录。 注意:WHILE优先级大于FOR,表记录的显示,3、两者异同: 相同点:将指定范围内符合条件的记录显示在屏幕上 不同点:如果没指定和,LIST默认显示所有记录,DISPLAY默认显示当前的一条记录。在指定和的情况下,LIST为自动滚屏显示,而DISPLAY 为满屏暂停显示。,例如:显示STUDENT表中所有没入党的学生记录的姓名和 性别 USE student LIST/DISP ALL FOR .NOT.入党否 FIELDS 姓名,性别,表记录的显示,记录测试函数: RECNO() 当前记录的记录号 BOF() 指针是否位于第一条记录之前 EOF() 指针是否位于最后一条记录之后 RECCOUNT() 表文件中的记录个数,返回.T.或.F.,注:BOF位置的记录号为第一条记录的记录号,EOF位置的记录号为RECCOUNT()+1,例如: Use student List ?bof(),eof(),reccount(),recno(),表记录的定位,2、相对定位 SKIP ,为整数型表达式,可为正+或负-,为正是时向EOF位置跳转,为负时向BOF位置跳转。+1可以省略,例如: Use student Skip int(reccount()/2+0.5),表记录的定位,3、条件定位(顺序查询),LOCATE FOR CONTINUE,默认为ALL,默认为.T.,按最近一次的LOCA范围和条件继续查询,FOUND() 测试函数,找到返回.T. 没找到返回.F.,表记录的定位,1、记录的插入 INSERT BLANK BEFORE,插入一条空白记录而不进入编辑状态,在当前记录的前方插入一条记录,默认在当前记录之后,注:插入记录以当前记录为基础,编辑窗口与方法与APPEND等同,记录号自动变更,表记录的插入和删除,2、记录的删除:逻辑删除(*) 物理删除(不可恢复),逻辑恢复,逻辑删除 DELETE FOR 逻辑恢复 RECALL FOR ,如不指明范围和条件,默认为当前记录,SET DELETE ON|OFF,显示删除记录,不显示删除记录,对BROW、APPEND、EDIT、INSERT等命令无效,表记录的插入和删除,物理删除:PACK,不经过逻辑删除而清空表中所有记录:ZAP ZAP=,Delete all pack,表记录的插入和删除,1、编辑(修改) EDIT|CHANGE FOR FIELDS ,如不指明范围和条件,默认为从当前记录开始,指明要编辑的字段,用逗号分隔,注:编辑窗口与编辑方法与APPEND相同,记录的编辑和替换,2、表记录的替换,REPLACE WITH , WITH , FOR ,如不指明范围和条件,默认为当前记录,类型必须一致,注: 如果表达式的值大于字段宽度,字符型将右边超出部分截去,数值型首先减少小数宽度,再尝试用科学计数法,再用*表示。,表记录的编辑和替换,表记录的编辑和替换,例如: 1、分别求出STUDENT中每位同学的总成绩和平均成绩,并添入相应的字段。 Use student Repl all 总成绩 with 语文成绩+数学成绩+外语成绩,平均成绩 with 总成绩/3 2、修改STUDENT结构,添加并修改“是否补考”字段,即三门课程的成绩有一门小于60的,是否补考字段的值既为真值 Use student Modi stru Repl ALL 是否补考 with .T. for 语文成绩60 .or. 数学成绩60 .or. 外语成绩60,1、记录的复制,COPY TO FIELDS FOR TYPE FOXPLUS|FOX2X|SDF|XLS|XL5|DELIMITED,文件类型视TYPE类型而定,默认为表文件,TYPE类型:FOXPLUS:FoxBASE+表文件 FOX2X: FOXPRO2.x表文件 SDF:不带分隔符号文本格式文件 XLS:Excel 2.0格式文件 XL5:Excel 5.0格式文件 DELIMITED:带分隔符号的文本文件,表记录的复制与追加,表记录的复制与追加,2、记录的追加,APPEND F
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号