您的位置:首页 > 数据库

数据库中无记录遇到实时错误“3021”的解决方法

2013-08-04 10:36 996 查看
大家在敲学生信息管理系统时,经常会遇到这种情况:

数据库中没有添加记录,但我们点击修改记录时,会出现如下提示:



最开始,问了很多同学,都认为这是系统的漏洞,很正常,不用太在意,这不叫错误!但是,后来仔细一想,一个完整的软件,总不能在中途运行过程中出现这么一个错误吧!这也有点儿太不近人情了!于是我琢磨了,找出两种解决办法,供大家参考!

一、进行错误处理

错误处理的本质就是当遇到错误时,可以跳过该错误,直接进行下一步,以便于程序顺利进行!

那么我们根据这个原理在代码中添加错误处理,问题便可迎刃而解!



Private Sub Form_Load()
    Dim txtSQL As String
    Dim msgText As String
    
    txtSQL = "SELECT * FROM student_Info "
    Set mrc = ExecuteSQL(txtSQL, msgText) '得到临时表
    
    
    
    On Error GoTo 1:

       mrc.MoveFirst
      Call viewData
        
        myBookmark = mrc.Bookmark '对当前记录进行标记
        mcclean = True '可编辑状态
    
    1:
    
        If Err = 3021 Then
          MsgBox "无记录!"
        End If
  end sub
二、根据上述原理,那么我们可以将代码稍作修改,不做错误处理,而是当程序运行的错误考虑在内,当遇到这种情况时,用一个if语句,让程序直接进行下一步即可,与上述方法异曲同工!



Private Sub Form_Load()
    Dim txtSQL As String
    Dim msgText As String
    
    txtSQL = "SELECT * FROM student_Info "
    Set mrc = ExecuteSQL(txtSQL, msgText) '得到临时表
    
 ’考虑无记录情况
    If mrc.EOF And mrc.BOF Then  ’一条IF语句充当错误处理,当无记录时,mrc.eof=true
’和mrc.bof=true两个条件同时满足!
        MsgBox "无记录!"
        frmModifysinfo.Show ’直接进行下一步,显示窗体
    Else
    
    
        mrc.MoveFirst
    
        Call viewData
        
        myBookmark = mrc.Bookmark '对当前记录进行标记
        mcclean = True '可编辑状态
    
    
    End If


那么,经过上述方法处理后,程序一旦遇到类似情况,就可直接提示“无记录”并运行下一步!

如图:



我们在点击确定后直接运行下一步,显示本窗体。

在这里需要注意的是,用If语句有一个好处,我们可以直接将显示本窗体这一行代码改成显示添加记录窗体,更加灵活方便!(因为错误处理默认直接执行下一步,而下一步就是显示本窗体)

将上述 frmModifyinfo.show 改成 frmAddinfo.show

根据自己的意愿填写!





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐