VFP等级考试浅谈.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VFP等级考试浅谈   摘要:VFP等级考试作为普通高校大学生计算机水平测试的标准,越来越受到同学的重视,程序设计又是考察的重点,通过对典型例题的分析,来提高大家的程序设计能力。   关键词:SQL;程序设计;函数   中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)36-2951-02   The Discussion of VFP Test   WANG Nan   (Department of Electronic information of Professional Technical institute,Anqing 246000,China)   Abstract: College Students pay more attention to the test of VFP which is the standard of the computer level ,and the programming is the focus of the test. The typical example of the analysis is to increase our programming capacity .   Key words: SQL; Progrmming; function   笔者作为一名高校教师,从事了多年的VFP等级考试教学工作,在教学工作中碰到许多程序设计的问题,细细思考之余,通过自己的归纳总结在这里做个小小的分享。   1 SQL查询之GROUP BY 子句   结构化查询语言SQL(Stuture Query Language),以其简单的格式、快捷的速度和强大的查询功能深受用户的喜爱 。VFP(Visual Foxpro)是一般数据库应用系统最常用的开发工具,它支持较为完整的SQL。由于VFP的特殊性以及SQL自身的编程难点,在VFP中利用某些SQL命令查询时,语法上的错误可以通过查阅资料解决,但是由对命令作用范围的把握不清,由此造成的逻辑错误却很难发现。   例题1:   现有CHENGJI.DBF表(姓名,课程,成绩),用于记录学生的考试成绩,其中一个学生可以有多条记录(登记一个学生的多门成绩);KECHENG.DBF表为空表,表(课程,姓名,最高成绩)。请先编写符合下列要求的程序PROG1,PRG:根据CHENGJI表计算每门课程的最高分,并将相应的课程、姓名、最高成绩存入kecheng.dbf。   错解:   SELE 课程,姓名,max(成绩)as 最高成绩 FROM chengji INTO TABLE kechengGROUP; BY课程   分析:这是典型的SQL类型考题,很多同学和一些对SQL不熟悉的年轻老师都会想当然的认为以上的做法是完全正确的,其实不然。GROUP BY 的意思是按给定的字段进行分组,所谓分组就是将一组类似的记录压缩成一个结果记录,这样就可以完成基于一组记录的计算;但是,GROUP BY 子句应该包含SELECT 列表中每个字段,除非列表当中的字段包含在列函数中。由此,可以看出姓名这个字段出现是多余的。举例:有表1,结构如图1。   COMMAND窗口执行了如下命令:   SELE 课程,姓名,max(成绩)as 最高成绩 FROM 表1;    INTO TABLE kechengGROUP BY 课程   打开生成的新表test,对比两表表如图2。   由此可知上述命令错误。在命令执行的过程,首先按照第一条记录的课程的字段值’C’来进行组统计,记录的指针最后指向的是第五条记录,姓名字段的值由tom变化为jerry,最高成绩由MAX()函数求出,但是姓名却并不是对应的tom,关键就是指针发生了变化!对于课程VFP也是这样。   参考答案如下:   SET TALK OFF   USE chengji IN1   USE kecheng IN2   SELE DIST 课程 FROM chengji INTO ARRAYa   FOR I=1 TOALEN(a)   SELE 1   cj=0   SCAN FOR 课程=a(i)   IF cj成绩   cj=成绩   xm=姓名   kc=课程   ENDIF   ENDS    SELE 2   INSERT INTO kecheng VALUE(kc,xm,cj)   ENDF   CLOSE ALL   SET TALK ON   2 随机函数RAND()   近两年的上级考试和理论考试中都加强了对RAND()函数的考查,RAND()函数返回是到0到1之间的数,也就是函数的值域是

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档