学生管理系统调试——实时错误(实时错误“3021)

                                                                   

         最近敲了一个小的练习项目——学生信息管理系统,在调试的过程了出现了一些问题。通过这些过问题又让我学习到了不少新的知识,今天我首先要记录的是”实时错误 ‘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 next
mrc.MoveFirst
If 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

         进一步的整理会在接下来的博客中陆续发布,希望大家能关注!

 

 

 

 

 

时间: 2025-01-31 10:03:07

学生管理系统调试——实时错误(实时错误“3021)的相关文章

学生管理系统调试——实时错误(实时错误“424”“5”“91”)

         最近刚刚敲了一个小小的练习小程序,其中出现了一些实时错误,想着也许以后还会出现就打算写一个系列博文记录一下,同时也算是和大家交流学习吧!         1.实时错误"424" ----要求对象         个人觉得出现这种情况完全是初学者的不熟悉造成的,因为出现这种错误的原因无非是:工程内的类名无效(简单的说就是将窗体名或控件名写错了):                                                              

程序调试—发现及处理错误

程序|错误     读完上面内容,读者一定很想创建一个没有错误的ASP网页.但你可能会发现网页并不能工作.怎么办,只有进行测试. 在这一部分,首先简要看一下能使调试更容易的一些工具.Microsoft Script Debugger试图把调试支持工具提高到像Visual Basic.Delphi和Visual C++等大多数传统编程环境的水平.然而,下面将首先讨论一些更传统的有助于跟踪出现在网页中的错误的技术.7.5.1 常规调试技术       在第2章中,已经看到如何使用Response.W

net 下安装、调试的常见问题与错误

错误|问题 Q:新建项目时出错:Visual Studio .NET 已检测到指定Web服务器运行的不是ASP.NET 1.1版.您将无法运行ASP.NET Web应用程序或服务.A: 对于这个错误有很多可能的原因,您可以参考下面几篇KB和文章的解决方案: "prb: "The specified Web server is not running ASP.NET version 1.1" error message when you create an ASP.NET 1.

java-eclipse调试界面出现如下错误

问题描述 eclipse调试界面出现如下错误 图片说明](http://img.ask.csdn.net/upload/201501/11/1420952869_590888.png) 请问 该如何解决啊 解决方案 空指针了,在logcat信息中,找到你的activity部分,双击定位 解决方案二: 看了看,应该是你的源文件缺失了. 解决方案三: 你这个不是你自己的错误,你这个事因为你调用了jdk里面的方法,但你没有引入jdk的源码,你要找你的错误是在控制台中的,那个才是你自己程序的错误

export-mac在项目中新建了一个.m的文件后,调试项目出现这错误!

问题描述 mac在项目中新建了一个.m的文件后,调试项目出现这错误! export MACOSX_DEPLOYMENT_TARGET=10.9 解决方案 程序链接出错了,用-v参数看下具体信息.

AS调试问题,调试的时候出现错误

问题描述 AS调试问题,调试的时候出现错误 真机调试的时候调试不了,出现Error running UIText: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.提示. 模拟器也用不了,出现Enable VT-x in your BIOS security settings (refer to documentation for your computer). 提示. 谁知道什么原因吗?

opencv-open cv调试时总是说错误

问题描述 open cv调试时总是说错误 #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include using namespace std; using namespace cv; /// 全局变量 Mat img; Mat templ; Mat result; char* image_window = "Source Image"

ie 8-IE8下调试,报如下错误

问题描述 IE8下调试,报如下错误 求各位大神看看,是什么原因在8以上版本都是正常的 解决方案 yellowD变量有什么内容?yellowD这个控件是什么?应该不是控件的子元素导致的 解决方案二: BHO在IE8下的调试 解决方案三: 如果你对jquery熟悉,可以用jquery赋值,而且兼容性也很好,不用考虑各种浏览器 text() - 设置或返回所选元素的文本内容html() - 设置或返回所选元素的内容(包括 HTML 标记)val() - 设置或返回表单字段的值 $(""#bt

gcc-gdb调试C程序出现错误(R调用该C程序)

问题描述 gdb调试C程序出现错误(R调用该C程序) 程序单步调试至主函数末尾处103行时,其104行即为主函数的右括号处,出现如下错误: Breakpoint 17, main (argc=144259120, argv=0x87e3200) at SampleCogeneMatrix.cpp:103 103 return 0; (gdb) n 104 } (gdb) n 0xb7ccb0e9 in ?? () from /usr/lib/R/lib/libR.so (gdb) n Canno