已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验七、VFP 6.0数据库基本操作一、实验目的及要求a)掌握VFP 6.0数据库系统的启动与退出b)掌握VFP 6.0数据库系统菜单的基本操作与使用c)掌握操作VFP 6.0命令窗口方法,以及基本命令使用。d)掌握常量和变量的命名与使用e)掌握表达式的分类与各表达式的运用。二、实验内容及步骤a)在Windows“开始”菜单中的程序组中选择“VFP 6.0 for windows”菜单即可。要退出VFP 6.0系统,可在命令窗口中输入QUIT命令,也可在文件菜单中选择退出选项。b)VFP 6.0数据库系统菜单的操作类似于Windows菜单的操作。c)数据库中,常量分为字符型常量、数值型常量、逻辑型常量、日期型常量,注意它们的格式,变量有字段变量和内存变量i.给内存变量赋值的简单命令:格式1:store to 格式2:=练习: ? store 32 to x ,y ,z? store .t. to yn,dd? a=3*3+5/2? store “小芳” to xm理解其含义。例1:建立4个变量,分别打印各种计算结果。任 务数据库的命令计算结果建立aa1=12.5Aa1=12.5建立aa2=15aa2=15建立aa3=ABCDaa3=ABCD建立aa4=.t.aa4=.t .输出aa1是否大于aa2的结果? aa1aa2.F.输出是否aa1小于aa2和aa4的结果? aa1aa2.AND .aa1aa4.T.输出aa3? aa3ABCD输出aa1是否小于aa2的结果? aa1=20 .or. zc“讲师”? gl=20 .and. zc“讲师”? gl=25 .or. .not.gz=25 .or.gz25 .or. gz=100).and.not.zc=“讲师”三、注意事项a)给变量命名时,我们一定要遵循命名规则:变量可以是字母、汉字、数字、以及下划线组成,但必须以字母、汉字开头,变量名长度不得超过10个字符。比如:性别,YY,dd_dd等均为合法的变量名;而 ,姓名是非法的变量名。b)当不同类型的运算符在同一表达式中出现时,算术、字符串运算符优先于比较运算符;比较运算符优先于逻辑运算符;括号最优先。四、思考题a)说明下列数据哪些是变量?哪些是常量?是什么类型常量?“性别” “Y” 34.33 xm “03/12/98” N .N.b)写出下列符合要求的逻辑表达式i.工资高于500且低于是100ii.工资高于500的男性iii.职称是“讲师”或“教授”,工龄大于20年的非汉族女性。一、实验目的及要求a)掌握数据库库结构的建立,数据的输入、显示等基本操作b)掌握数据库结构的修改、数据库记录的修改c)掌握数据库的排序与索引文件的建立与使用,数据的分类求知汇总等操作d)掌握数据库中的数据的检索方法和数据库中数据的统计方法二、实验内容及步骤a)数据库结构新建,库文件结构,记录的立即输入,记录的查看,记录的追加,记录的插入,数据库的关闭,记录的显示,记录指针的移动及相关函数的使用。练习:1、建立数据库文件结构:在命令窗口中键入命令 CREATE GZ 屏幕出现库结构对话框,按下列要求依次输入各字段的字段名、字段类型、字段宽度和小数位数字段名 类型 宽度 小数位xm c 8 ks c 6 jbgz n 6 2bt n 6 2jj n 6 2kk n 5 2存盘:当最后一个字段的内容输入完毕,按CTRL+W键存盘或用TAB键或光标键将鼠标指针移至“确定”按钮按回车,可立即进行记录的输入xm 李文明ks 学生科jbgz 362.00bt 180.00jj 92.00kk 10.00xm 皮学庆ks 学生科jbgz 352.00bt 180.00jj 80.00kk 25.00xm 盛辉ks 教务科jbgz 352.00bt 180.00jj 80.00kk 12.00xm 李小刚ks 教务科jbgz 352.00bt 180.00jj 80.00kk 20.00xm 王广明ks 总务科jbgz 456.00bt 210.00jj 60.00kk 27.00记录输入完,可以用光标键前后浏览已录入的数据,看是否正确,发现问题进行修改,无误后按CTRL+W存盘,返回命令窗口。库结构的查看: LIST STRUCTUREDISPLAY STRU? FCOUNT()? FIELDS(1)? FIEL(4)记录的查看与修改LISTBROW记录的追加用APPEND命令向库中追加如下三条记录:xm 张朝ks 教务科jbgz 392.00bt 190.00jj 80.00kk 10.00xm 陈小美ks 学生科jbgz 392.00bt 190.00jj 92.00kk 10.00xm 刘江富ks 教务科jbgz 462.00bt 310.00jj 92.00kk 10.00插入记录:在“王广明”之后插入以下记录:xm 赵新月ks 总务科jbgz 392.00bt 190.00jj 80.00kk 25.00在命令窗口中输入:DISP ALLGO 5INSERT数据库的关闭:1、在同一工作区打开另一数据库的同时,即关闭了当前数据库。2、use3、close database 4、退出VFP 6.0时,系统自动关闭所有数据库。b)库结构的修改:追加、插入、删除一个字段;记录的浏览;记录的删除练习:库结构的修改:在命令窗口中键入以下命令USE GZLIST STRUMODI STRU追加一个字段:字段名 类型 宽度 小数位SFS N 6 2插入字段在“KK”字段后插入两个新的字段字段名 类型 宽度 小数位CX N 3 0YFS N 6 2字段数据的替换:在命令窗口中输入命令:LISTGO 3REPLACE YFS WITH JBGZ+BT+JJLISTREPL ALL YFS WITH JBGZ+BZ+JJREPL ALL SFS WITH YFS-KKLISTUSE记录的删除:USE GZGO 2DELELISTDELE ALL FOR JBGZ390LSIT ALLDELE ALL FOR KS=”学生科”LIST FOR DELE()RECALL ALL FOR JBGZ300DISP继续查找工资超过 300 元的所有记录CONTINUE DISP反复执行上述两条命令,直到屏幕显示“END OF LOCATE SCOPE ”时表示检索范围结束。在RSDAK.DBF 库中找出所有1970 年及以后出生的人员,并观察 FOUND( ) 函数的返回值:USE RSDAKLOCATE FOR YEAR(CSRQ) = 1970? FOUND() & 查询记录是否找到? EOF()DISPCONTDISP连续输入CONT 命令,直到检索范围结束。再输入:? FOUND()? EOF() & 找不到时记录指针指向_USE3、索引检索先对 RSDAK.DBF 数据库按 GZ 建立索引,再查找工资等于255.20 元的记录:USE RSDAKINDE TO RSDAK_GZ ON GZFIND 255.20 & 在RSDAK.DBF 中找 工资为 255.20 的记录DISPSKIP & 找下一条满足条件的记录DISP连续输入SKIP 和 DISP 命令,直至显示的记录不符合条件,可结束查找? EOF() & 找不到时记录指针指向_先对 RSDAK.DBF 数据库按XM 建立索引,再查找姓名为“李长贵”的记录和第一个姓“李”的记录:USE RSDAKINDE TO RSDAK_XM ON XM FIND 李长贵 & 找叫“李长贵”的记录DISPFIND 李 & 找姓 “李”的记录DISPUSE在 RSDAK.DBF 数据库中查找职称为讲师的第一条记录:USE RSDAKINDE TO RSDAK_ZW ON ZWSEEK “讲师”DISP打开RSDAK.DBF 库及 RSDAK_XM.IDX 索引文件,观察用 SEEK 命令查询内存变量的情况:USE RSDAK INDEX RSDAK_XMQQ=”李长贵”SEEK QQDISPWW=”李”SEEK WWDISP连续键入SKIP ,DISP 命令,直到显示的记录不符合条件,可结束查找。若键入:MZ=”长贵”SEEK MZ则屏幕显示: no FIND.思考:为什么找不到:_e)统计与汇总数据统计(请注意观察主屏幕上的输出信息)记录数统计USE RSDAKCOUNT &统计总记录数COUNT FOR GZ300 &统计基本工资在300元以上的人数COUNT FOR ZW=”讲师” .AND. GZ 300 TO A1 &统计职称为讲师且工资超过300元的人数,并将结果保存在 A1中? A1 数据求和SUM & 对所有数值型字段纵向求和SUM BT + JJ & 求 BT + JJ 的总和SUM GZ,BT,JJ TO B1,B2,B3 FOR ZW=”助教” & 统计职务为助教的所有人员的GZ,BT,JJ总和? B1,B2求平均值USE RSDAKAVER &对所有数值型字段求平均值AVER GZ,BT TO C1,C2 FOR XB=”男” & 求性别为男所有人员的平均工资和补贴数? C1,C2USE分类求和对 RSDAK.DBF 数据库中所有数值型字段按性别字段分类求和(汇总),生成名为 XB1.DBF的新数据库文件。 USE RSDAKLIST STRU &记下数字型字段的宽度:INDE TO GZ_XB ON XB &分类汇总前应对数据库按关键字进行排序或索引TOTAL ON XB TO XB1 &按XB 进行分类汇总USE XB1LIST &观察分类求和的结果LIST STRU &观察汇总后的库结构并注意其中的数值字段宽度是否自动增加了_USE对RSDAK.DBF 的 BT 及 JJ 两字段按性别分类求和,生成名为XB2.DBF的新数据库。USE RSDAK INDE GZ_XB TOTAL ON XB TO XB2 FIELD BT,JJUSE XB2LISTUSE三、意事项a)区分排序与索引。b)区分比较FIND与SEEK,LOCATE。四、思考题a)只打开文件时,记录指针指向几号记录?b)排序和索引有何区别?c)只打开库文件时,记录指针指向第_号记录;d)打开库文件的同时打开索引文件,记录指针是否指向1号记录?最后一条记录是否为记录号最大胡记录?e)排序和索引有何区别?f)用LOCATE 命令进行检索,要索引吗?g)如果不索引,FIND 与 SEEK 命令能否正常使用?,如果对一字段建立了索引,而用 FIND 或 SEEK 检查另一字段,能否成功?实验九、库文件操作与常用函数一、实验目的及要求a)掌握数据库库结构的复制b)掌握库文件操作的常用命令c)熟悉VFP 6.0的常用函数的功能及初步了解数据库的关联二、实验内容及步骤a)数据库的复制整库复制DIR &看当前目录下的库文件情况USE GZ01COPY TO GZLS &将GZ01库中所有内容复制到库GZLS.DBF中DIR &看是否增加了GZLS.DBF 库文件USE GZLSLISTDELE FILE GZLS.DBF &欲删除GZLS.DBF,能删除吗?为什么?USE &关闭GZLS.DBFDIR &看GZLS.DBF是否还在ERASE GZLS.DBF &删除GZLS.DBFDIR &看GZLS.DBF是否删除部分复制复制部分字段USE GZ01COPY TO GZLS1 FIEl XM,KS,JBGZ&将GZ01中的XM,KS,JBGZ三个字段及其内容复制到GZLS1库中USE GZLS1LISTUSE按记录范围复制部分记录USE GZ01GO 5COPY TO GZLS2 NEXT 4 &将GZ01中的59号记录复制到GZLS2库中COPY TO GZLS3 &将GZ01库复制到GZLS3库中USE GZLS2 &观察复制情况LISTUSE GZLS3 &观察复制情况LISTUSE按条件复制USE ZGDA01COPY TO DA1 FOR XB=女 &将ZGDA01中的所有女性记录复制到DA1库中COPY TO DA2 FOR XB=男 .AND. KS=学生科 &将ZGDA01中学生科的所有男性记录复制到DA2库中COPY TO DA3 FIEL KS,XM,JBGZ FOR KS=实验科 &将ZGDA01中实验科人员的KS,XM,JBGZ字段内容复制到DA3库中USE DA1 & 观察复制情况LISTUSE DA2LISTUSE DA3LISTUSE1、复制库结构全部复制USE GZ01COPY STRU TO GZLS &将GZ01库结构复制到库GZLS中USE GZLSLISTLIST STRU &观察有无数据:_USERUN DEL GZLS.DBF部分复制USE GZ01COPY STRU TO GZLS FIEL XM,JBGZ,SFS &将GZ01中的XM,JBGZ,SFS三个字段复制到GZLS库中USE GZLSLIST STRUUSE! DEL GZLS.DBF3.从其他库中追加数据USE GZ01COPY STRU TO GZ1 &将GZ01库结构复制到GZ11中COPY STRU TO GZ2USE GZ1LISTUSE GZ2LISTAPPEN FROM GZ01 FOR KS= 学生科 &将GZ01中满足条件的数据追加到GZ2中LISTUSEDELE FILE GZ1.DBFDELE FILE GZ2.DBF4.常用函数练习(仔细观察、记录运行结果)数值型函数的练习CLEAR &清屏? EXP(2) &指数函数? INT(87.26) &取整函数? INT(-87.56)? ABS(-523) &取绝对值函数? SQRT(16) &平方根函数? ROUND(3245.346,2) &四舍五入函数? ROUND(3245.644,2)? ROUND(3245.644,-2)? MAX(432,198,234) &取最大值函数? MAX(ABC,21,WS)? MAX(“ABC”,”21”,”WS”)? MAX(ABC,21,WS)? MOD(52,5) &取余函数字符型函数的练习?LEN(计算机等级考试) &字符串长度函数?UPPE(“It is a computer”) &转换为大写字母函数? SUBS(99计算机等级考试上机辅导教材,9,8) & 取子串函数?AT(中心,“计算机中心”) & 子串位置函数?AT(“aa”,“aabbcc”)AA=五笔字型BB=输入法?AA+BB? AA+SPACE(2)+BB日期和时间函数的练习?DATE( ) &系统当前日期? TIME( ) &系统当前时间转换函数的练习?STR(12345.678 ,8 ,1) & 数值转字符? STR(12345.678 ,8 ,2)? STR(435.76 , 4)? STR(123.56)? VAL(1234.5) & 字符转数值? VAL(abcd)? VAL(12ABCD)? CTOD(04/18/99) & 字符转日期? CTOD(04/18/99)+20? CTOD(04/18/99)-5? DTOC(date() & 日期转字符宏替换函数“ & ”的练习A=12345B=A? &B? BSTORE 10 TO BB=18-8? A+&BS=DIR? S&S复合函数? SQRT(VAL(“100”)? CTOD(“12/12/98”)+12M=“今天的日期是:”+DTOC(DATE()? MN=“现在的月份是:”+ SUBS(DTOC(DATE(),1,2)+ “月”? N1、多工作区及其使用方法工作区命名及选择数据库的关联数据库的更新数据库的连接三、注意事项a)不能删除已打开的数据库文件。四、思考题a)没有关闭的数据库能否被删除?b)COPY STRU 在拷贝时,能否将记录一并拷贝?c)字符串的定界符除了双引号外还有什么?d)ROUND( )函数中取的位数为负数时表示什么?(例:ROUND(1234.567,-2)实验十、VFP 6.0程序设计一、实验目的及要求a)熟悉VFP 6.0建立程序(命令)文件(扩展名: PRG)的方法,掌握程序的三种基本结构。b)学习简单的算法。c)记录操作程序与数据检索程序设计初步二、实验内容及步骤a)顺序程序设计: 求一元二次方程的实数解。在命令窗口中输入命令:MODI COMM PRG01便进入程序文件编辑窗口,输入如下内容:PRG01 SET TALK OFF &关闭控制命令响应 信息的显示CLEAINPUT “A=” TO A &给方程的二次项系数赋值INPUT “B=” TO B &给方程的一次项系数赋值INPUT “C=” TO C &给方程的常数项系数赋值D=BB4ACE=SQRT(D) X1=( B + E)/(2A) X2=( B E)/(2A) ? “X1=”,X1 ? “X2=”,X2SET TALK ON &打开控制命令响应信息的显示 输入完毕检查无误后,按CTRL+W存盘,返回到命令窗口,输入: DO ROG01 运行该程序,计算机提示输入数据时,对A、B、C分别输入2、4、-6,计算机输出结果,用笔验算一下,看结果是否正确。1、 思考:该程序存在什么问题?再运行一次该程序,这次分别输入4、2、1,程序运行中止,出现错误信息。: 按回车键后进入PRG01.PRG的编辑窗,可对其进行修改,暂不修改,按ESC键退出,这说明程序不完善,问题出没有对判别式进行判断(负数不能开平方)。b)分支程序的设计:判断并求一元二次方程的实数解COPY FILE PRG01.PRG TO PRG02.PRG &PRG01.PRG复制成PRG02.PRGMODI COMM PRG02按下面内容编辑:PRG02.PRGSET TALK OFFCLEAINPUT “A=” TO AINPUT “B=” TO BINPUT “C=” TO CD=BB4ACIF D0? “没有实根” ELSE D=SQRT(D) X1=(B + E)/(2A) X2=(B E)/(2A) ? “X1=”,X1 ? “X2=”,X2 ENDIF SET TALK ON 运行该程序两次,分别在命令窗口中输入的两次命令: DO PRG02 第一次分别输入4、2、1 第二次分别输入2、4、6 观察分析程序的运行结果。c)循环程序的设计以上程序在每次运行中只能解一个方程,下面用DO WHILE / ENDDO循环来解多个方程。首先将PRG02.PRG复制成PRG03.PRG,然后按以下内容编辑修改PRG03.PRG:PRG03.PRGSET TALK OFFDO WHILE .T.CLEAINPUT “A=” TO AINPUT “B=” TO BINPUT “C=” TO CD=BB4ACIF D0? “没有实根” ELSE D=SQRT(D) X1=(B + D)/(2A) X2=(B D)/(2A) ? “X1=”,X1 ? “X2=”,X2 ENDIF ANS=”y”10,10 SAY“还继续求解吗?(Y/N):”GET ANS PICT “y” READ IF UPPE(ANS)=”N” EXIT ENDIF ENDDO SET TALK ON运行该程序求三次解,在命令窗口中输入命令:DO PRG03第一次分别输入4、2、1,得出结果后回答“Y”,第二次分别输入设备、4、-6,得出结果后回答“Y”,第三次分别输入0、1、1,会得出什么结果?_,此时回答“N”返回命令窗口。DO WHILE / LOOP / ENDDO上面程序的问题出在没有对二次项系数进行检验,将上述程序复制为PROG03_1.PRG,进行如下修改,并运行:PRG03_1.PRGSET TALK OFFDO WHILE .T.CLEAINPUT “A=” TO AIF A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广告行业市场客户需求分析及创新服务模式探讨及品牌营销策略研究报告
- 2025希腊汽车整车行业市场供需分析及投资评估规划分析研究报告
- 剧本营销方案
- 解忧活动策划方案主题
- 企业项目营销方案
- 营销回流方案
- 成本结构驱动因素分析-洞察及研究
- 杭州营销方案价格
- 跑操活动策划方案
- 预定手机营销方案
- 制造业产品质量售后服务方案
- 人教版(2024新版)七年级上册数学第三次月考模拟试卷(含答案)
- 2025届四川省绵阳是南山中学物理高一第一学期期中统考试题含解析
- 车辆维修服务项目技术规范书-采购技术文件规范模版
- 《JAVA程序设计A》教学大纲
- 包工不包料建房合同书范本
- 2024年焊工(初级)证考试题库及答案(500题)
- 2024年全国甲卷高考历史试卷(真题+答案)
- 【比亚迪公司税收筹划实训报告6200字(论文)】
- 万曼呼吸机操作
- 联通主义学习理论及其进展
评论
0/150
提交评论