学生管理系统调试——实时错误(实时错误“3021)
来源:互联网 发布:淘宝店推广预算计划书 编辑:程序博客网 时间:2024/06/02 18:22
最近敲了一个小的练习项目——学生信息管理系统,在调试的过程了出现了一些问题。通过这些过问题又让我学习到了不少新的知识,今天我首先要记录的是”实时错误 ‘3021’“相信大多数人在初次使用VB链接数据库的过程中都会遇到这样的问题。怎么解决实时错误”3021“呢?那还是先让我们了解一下什么是EOF和BOF吧。
使用ADO数据库进行查询的时候,将数据库查询结果返回查询端的时候,在查询端的内存中就会有一个列表,这个列表存放的就是查询的结果集。我们假设mrc是数据集,1、2、3、4为该数据集中的四个数据如下图:
如图我们能很清楚的看到当mrc指向编号-1,这样就符合了BOF的情况;指向5(并不存在这条记录)的时候,这就是EOF的情况。如果同时出现BOF和EOF的情况,就是说指针既在上界之外也在下界之外,这就表示该数据集为空。
出现这种错误的原因:1、我们查找的数据库记录为空;
2、查找到数据后,用Del命令删除记录后,再引用Fields后出现错误;
3、已经用MoveFirst或用MovePrevious命令移动数据库开始后再用MovePrevious命令;
4、已经用MoveLast或用MoveNext命令移动至数据库最后位置后再用MoveNext命令。
解决问题的方法:
如果我们在查询的表中没有数据的话我们可以加上一个错误处理:
On Error resume nextmrc.MoveFirstIf Err=3021 then Response.Write"无数据!"End If
当我们删除最后一条记录的时候,引用Fields的过程中也会出现这样的问题,大家可以参考一下以下代码:
Private Sub cmdDelete_Click() Dim intMsgbox As Integer m_vntBookmark = m_rstCourseInfo.Bookmark intMsgbox = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录") If intMsgbox = vbOK Then m_rstCourseInfo.MoveNext If m_rstCourseInfo.EOF = True Then m_rstCourseInfo.MovePrevious m_rstCourseInfo.MovePrevious If m_rstCourseInfo.BOF = True Then m_rstCourseInfo.MoveNext m_rstCourseInfo.Delete MsgBox "最后一条记录删除,记录为空!", vbOKOnly + vbExclamation, "警告" Unload Me Else m_rstCourseInfo.MoveFirst m_vntBookmark = m_rstCourseInfo.Bookmark m_rstCourseInfo.MoveLast m_rstCourseInfo.Delete m_rstCourseInfo.Bookmark = m_vntBookmark Call viewData End If Else m_vntBookmark = m_rstCourseInfo.Bookmark m_rstCourseInfo.MovePrevious m_rstCourseInfo.Delete m_rstCourseInfo.Bookmark = m_vntBookmark Call viewData End If Else m_rstCourseInfo.Bookmark = m_vntBookmark Call viewData End If End Sub
进一步的整理会在接下来的博客中陆续发布,希望大家能关注!
- 学生管理系统调试——实时错误(实时错误“3021)
- 学生管理系统调试——实时错误(实时错误“424”“5”“91”)
- 敲学生管理系统遇见错误之实时错误‘3021’
- 学生实时错误“3021”
- 【学生】实时错误3021
- 学生信息管理系统之实时错误3021
- 学生信息管理系统实时错误3021(二)
- 那些美丽的实时错误—学生信息管理系统
- 【学生】实时错误91
- 【学生信息管理系统】之“实时错误‘91'"
- 学生信息管理系统中的实时错误’3021‘解决办法
- 【学生信息管理系统】实时错误'3021' BOF EOF
- 学生实时错误“366”、“91”
- 学生管理系统 实时错误’91': 对象变里或with块变里未设置
- 学生管理系统调试错误总结
- 实时错误‘91’:对象变量或With块变量未设置——学生系统调错总结二
- 实时错误3021
- 实时错误3021
- OpenStack引入Hadoop发力大数据
- 项目上线的积极准备工作
- Linux网卡驱动程序编写
- ms sql汉字首字母查询
- HDU 2390
- 学生管理系统调试——实时错误(实时错误“3021)
- Response.Write 出来的 弹出窗口 主要是window.open()方法的应用
- JavaScript中的shift()和pop()函数
- 笔记:shell命令
- 机器视觉中常用的数据测试集 计算机视觉数据集
- poj 1195
- 使用rman backup命令创建备份系列之服务器管理的一致备份
- 如何让Hadoop运行在OpenStack之上
- 鸟哥的Linux私房菜