【学生信息管理系统】EOF 和 BOF

敲完学生信息管理系统时,在删除信息的时候,经常会出现下图这样的错误,遇到问题就要解决问题。经过查阅理解了记录集Recordset的EOF和BOF属性,用这两个属性可以知道记录集中是否有信息存在。

EOF和BOF属性

  • BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。
  • EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后。

返回值:BOF 和 EOF 属性返回布尔型值。

使用 BOF 和 EOF 属性可确定Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超

出 Recordset 对象的限制。

  • 如果当前记录位于第一个记录之前,BOF 属性将返回 True ,如果当前记录为第一个记录或位于其后则将返回 False 。
  • 如果当前记录位于 Recordset 对象的最后一个记录之后 EOF 属性将返回 True,而当前记录为 Recordset 对象的最后一个记录或位于其前,则将返回 False。
  • 如果 BOF 或 EOF 属性为 True,则没有当前记录。

如果打开没有记录的 Recordset 对象,BOF 和 EOF 属性将设置为 True,而 Recordset 对象的RecordCount
属性设

置为零。打开至少包含一条记录的 Recordset 对象时,第一条记录为当前记录,而 BOF 和 EOF 属性为 False。

如果删除 Recordset 对象中保留的最后记录,BOF 和 EOF 属性将保持 False,直到重新安排当前记录。

以下表格说明不同 BOF 和 EOF 属性组合所允许的 Move 方法。

产生上图的错误,就是因为在执行代码的时候,下面这张图中的错误避免导致的。


MoveFirst,

MoveLast


MovePrevious,

Move < 0


Move 0


MoveNext,

Move > 0


BOF=True,

EOF=False


允许


错误


错误


允许


BOF=False,

EOF=True


允许


允许


错误


错误


同时为 True


错误


错误


错误


错误


同时为 False


允许


允许


允许


允许

允许使用 Move 方法并不能保证该方法成功定位记录,只是意味着调用指定的 Move 方法不会产生错误。

下表说明当调用各种 Move 方法但未成功定位记录时 BOF 和 EOF 属性设置所发生的情况。


BOF


EOF


MoveFirst, MoveLast


设置为 True


设置为 True


Move 0


没有变化


没有变化


MovePrevious, Move < 0


设置为 True


没有变化


MoveNext, Move > 0


没有变化


设置为 True

【学生信息管理系统】EOF 和 BOF,布布扣,bubuko.com

时间: 2024-12-26 15:12:51

【学生信息管理系统】EOF 和 BOF的相关文章

学生信息管理系统(五)——增、删、改、查

学生信息管理系统就是一套套的增.删.改.查. 下面我们就来分别分析一下. 一.Add  (添加一条记录,以frmAddclassinfo窗体为例) 首先,确保各个文本框不能为空. 用模块中的自定义函数Testtxt来检测文本框是否为空,若为空,弹出警告,文本框获取焦点. 例如:班号不能为空. If Not Testtxt(cboClassNo.Text) Then MsgBox "请输入班号!", vbOKOnly + vbExclamation, "警告" cbo

【学生信息管理系统】对象变量或者With块变量未设置

学生信息管系统照着代码敲,敲完了后,漏洞百出,最初碰到的就是下面的这个提示框 而当这个提示出现时,点击调试按钮返回 <span style="font-size:18px;">If mrc.EOF = True Then</span> VB中出现问题最快捷的方式就是去MSDN for VB上查找相关的信息,装上MSDN出现问题的时候,点击帮助. 由图可知,错误类型是对象变量或者With块变量未设置,而此处没有With块变量,那么只能是一种情况,对象变量未设置.此

【学生信息管理系统】总结--这只是个开始

模块 模块部分定义一个ExecuteSQL函数,用于查询SQL语句 ConnectString函数对数据库进行连接 Sub Main()启动对象,作为程序的入口,对登录窗口进行判断. 还有一个公共函数TestTxt对整个程序所有的窗体中的数入框进行是不是空的判断 最重要的是ExecuteSQL函数. 窗体 代码部分 窗体大致分为三类 添加 修改 查询 窗体部分,添加的框都是大同小异,修改的框也是类似的,查询的跟查询的窗体原理上也是相同的.在添加,修改,查询这些窗体中,只要弄懂一个其他的都一样 而

我的学生信息管理系统总结

我的学生管理系统总结 花了一天时间用C语言做了一个学生信息管理系统,有一些想要总结的地方,在此记录一下. 虽然是一个简单的系统,简单到只有增删改查功能,而且,保存数据的地方不是数据库,而是文件,但是,我还是按照了做大型项目时采用的"三层架构"的思路来写:大体上就是:底层,和数据库打交道:中间层,处理用户输入的业务逻辑,并将错误信息反馈给用户:表面层,就是和将界面展现给用户,接受用户的输入. 下面是,总结的一些好的代码: 1.判断键盘连续两次输入回车(也可以用来判断连续两次输入某字符).

linux下c/c++实例之十五简单的学生信息管理系统

一.简介 大学期间用vc++开发的简单的学生信息管理系统,主要有添加学生信息.删除学生信息.修改学生信息.查询学生信息.显示学生信息.综合统计(各课程平均成绩和合格率).总分排序和退出系统.设计: 二.详解 1.代码 (1)main.cpp #include<iostream> #include<fstream> #include<iomanip> //使用setw()函数 #include<windows.h> //使用system()函数 #includ

学生信息管理系统修改

北京工业大学耿丹学院 c语言设计课程报告   课程设计名称:高级语言程序设计 专业班级:计算机科学与技术1 姓名:吴双 学号:150809201   2016年5月10日 一 对c语言指针链表的体会 ------------------------ 二 修改学生信息管理系统 ------------------------ 三 体会 ------------------------ 一 对c语言指针链表的体会 1.指针 简单来说,指针是一个存储计算机内存地址的变量. 用 int *ptr 这种形

用基本数据结构修改后的学生信息管理系统(增删改查)

package com.xt.student.system; //创建学生类存放信息 public class Student {//声明变量private String stuNo; private String stuName; private String gender; private int age; private int score; //对变量进行封装 public String getStuNo() {return stuNo;} public void setStuNo(St

基于数据库MySQL的简易学生信息管理系统

通过这几天学习Mysql数据库,对其也有了基本的了解,为了加深印象,于是就写了一个最简易的学生信息管理系统. 一:基本要求 1.通过已知用户名和密码进行登录: 2.可以显示菜单: 3.可以随时插入学生信息: 4.可以删除学生信息: 5.可以通过学生姓名或学号显示学生所有信息: 还可以修改学生信息,添加学生表格属性等等,,,这些实现都基本类似上述的(这些不想写了,最简易的学生信息管理系统): 二:步骤 1.写一个sql脚本,包括创建数据库,使用数据库,创建学生信息表格,插入大部分学生信息. stu

学生信息管理系统

根据资料显示,那么,如果写一个字符串到一个文件中,是什么方式呢?显示到屏幕上是默认的输出文件,如果是硬盘中的一个文件,首先要打开一个文件,然后才能往里写,那么就要告诉程序这个文件在什么地方,按照什么样的方式打开(读.写.读和写.添加.覆盖等),然后打开后要给这个打开的文件一个符号(指针变量),表示后续的读和写都是针对这个文件的,而不是到屏幕的,这个指针变量以后就代表了文件自身了. 在学生信息管理系统中,需要同时保存一个学生的姓名,性别,年龄等信息,那么设置变量保存很多同学的这些信息就有点不太方便