好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

浅谈数据库中记录.doc

4页
  • 卖家[上传人]:hh****pk
  • 文档编号:282937471
  • 上传时间:2022-04-26
  • 文档格式:DOC
  • 文档大小:21.50KB
  • / 4 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 浅谈数据库中记录指针移动数据库的操作,学生主要接触到有两类,一类是库结构操作,另一类是库 记录操作,以及两者结合库文件操作FoxPro基本命令中大部份命令与库记录 操作有关记录指针的位置对库记录的操作,起着不可忽略的作用学生在学习过程中,往往对记录指针在操作中产生的移动,重视不够,容 易造成操作失败或操作失误oFoxPro操作中的基本命令大部分由它的缺省形式 出现,显得比较简练实用例如,显示库记录的命令,常用LIST来显示全部 库记录,用DISPLAY来显示当前记录命令中的范围子句均已缺省LIST缺 省范围默认为全部记录,DISPLAY缺省范围默认为当前记录学生对每条 FoxPro命令的范围缺省值学习尚感到困难对缺省范围后的FoxPro命令引 起的记录指针的移动更感茫然特别是命令中范围缺省默认为ALL时,操作 执行后记录指针将指向库的底部(库文件结束标志EOF),—般都不容易搞清楚 例如,要求在CJ (成绩)库中的尾部添入一条空记录在该条空记录中相应的 字段(语文、数学、英语)中填入语文、数学、英语的平均分在姓名字段填 入〃平均分〃冇的学生根据题意一步步进行操作:・ USE CJ・ APPEND BLANK・AVERAGE 语文,数学,英语TO YW, SX, YY・REPLACE 姓名WITH 〃平均分〃,语文WITH YW,数学WITH SX,英语 WITH YY屏幕显示:0记录被替换显然操作失败。

      原因何在?冇学生说,同样上述四条命令,只要将第二条命令和第三条命 令交换位置,操作就能成功这又是什么原因?这时可以指导学生重复上述两种不同操作程序为了止确起见,每次操 作前首先要将前一次操作添加上去的最后一条记录真正删去)要求学生仔细注 意观察命令行记录项中当前记录的变化第一种程序执行到第三条命令后,记 录定位在库底部(E0F)o因为第三条命令小缺省了范围子句,缺省的默认值为 ALL,指针自然要定位在库的底部(EOF)要用第四条命令去替换不是记录的 库底部,自然耍失败第二种程序,虽然第二条命令同样耍将记录指针移到库 底部但是第三条命令却正好定位在最后一条空记录上接下来的替换,虽然 替换的命令也是范围缺省的形式,它的默认值却是当前记录替换是针对这条 空记录,当然会获得成功为了使问题更进一步得到探讨,可继续提出问题, 如用第一种程序要完成上述任务,可以办到吗?学生受到观察当前记录启示, 自然会想到,在执行求平均命令后再插入一条重新定位命令GO BOTTOM同样 可以完成上述任务或在替换命令上加上指定最后一条空记录的范围了句)上述举例只是说明记录指针是要随记录操作而移动特别是命令中范围子 句缺省的情况(这是常见的)稍一疏忽,或根本没有记录指针会随记录操作而 移动的概念,容易造成操作失误。

      学生对数据库记录定位命令,引起记录指针的移动,是理解的,是有概念 的但对不是定位命令造成记录指针移动,较难形成概念原因是多方面,教 材上受篇幅影响不能很好展开也是原因Z-o为了克服这方面缺陷可以指导学生在每次操作后,都要在命令行记录项 中仔细观察当前记录数变化,找到规律一般教材中,较少涉及命令行的介绍其实命令行中的记录项是观察记录 指针移动最好位置该项由两部份组成分子代表记录指针位置分母指示的 是当前库总记录数学生一般对打开一个数据库后,记录的指针指向第一条记 录,印象不深其原因直观性不好他们往往误认为只有显示当前记录,才能 知道记录指针位置每次用DISPLAY显示当前记录,既没有必要,有时也不 现实每次用记录号函数来显示当前记录号,也无此必妾)利用命令行来观 察,既不需要进行任何操作,乂一目了然同时可以培养学生的观察能力在命令行上观察记录指针,有它的特点,但也有它的局限性例如在程序 方式下一般就难使用所以必须在观察命令行的基础上,不断总结,找到规律记录操作命令一般与范围了句有关范围了句一般有四种基木形式,每种 形式造成记录指针移动是有规律的可以列表如下:范围 操作后记录指针位置ALL EOF (库底部)RECORD N N (第 N 条)NEXT N RECNO () + (N-l)(原记录+N-1 条)REST EOF (库底部)上述规律要求学生通过多次操作后口行总结。

      教师加以必要指导FoxPro命令中,常有范围了句缺省情况发生缺省有两种,一种默认为 ALL o常见的命令有:LISTCOUNTAVERAGESUMSORTCOPY 等另一种是默认为当前记录,常见命令有:DISPLAYREPLACEDELETERECALL 等当前记录写成范围子句,一般可写成NEXT 1或RECORD RECNO ()两种 方式前一种方式比较简便,后一种比较容易理解范围了句缺省的默认值,要求在不断操作中进行默记,达到熟练掌握条件子句也会影响记录指针移动这主要是在范围子句缺省情况下,范围 另有默认值,默认范围与条件命令选择有关选FOR命令范围默认为ALL, 选WHILE则默认为REST记录指针移动仍然是与范围有关,仅范国是隐含的 默认值学生总结出上述规律后,可以对FoxPro命令执行后,记录指针产生的移 动有比较清楚认识不再会对记录指针移动感到不可捉摸也不容易忘记命令 操作后,记录指针有可能已经移动过当然个别命令,如LOCATE这条命令执行后,记录指针位置是与范围子句 的关系有点不同找到满足条件记录时,记录指针是停留在指定范围内满足条 件的第一条记录上,找不到则指向范围末虽然LIST和LOCATE的范围的缺省 都是默认为ALL,但是LTST FOR……和LOCATE FOR……这二条命令执行后 记录指针的位置是不一样。

      前者在EOF ,后者在找到时,是指向满足条件的 第一条记录上,找不到才指向EOFo这一点在指导学生学习时要特别注意的在程序设计中,更要注意命令行执行时可能引起记录指针的移动考虑记 录指针移动是设计中一个重要环节例如在最常用的循环中,对库记录逐条进 行操作:DO WHILE . NOT. EOF()SKIPENDDO就要注意循环中,出现的命令可能造成记录指针移动,使循环不是逐条进 行特别是出现FOR子句命令时(LOCATE命令另作考虑)就特别要警惕,考 虑要不要保留当前记录号位置,以便操作后返冋,使循环能逐条止常进行在FoxPro教学中重视记录指针移动的教学,要主动引导学生进行观察、 分析、比较从中找到其中的规律这样不仅可使学生学好FoxPro更重要 是鼓励学生在学习中善于发现问题,善于思考,善于找到规律,掌握好学习方 法对学生将来学习后继课程是有帮助的二00二年六刀。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.