学生管理系统-错误3021

出现3021问题就是bof或EOF中有一个是真,要不就是当前记录已被删除,要求一个当前记录。

首先得先搞清楚什么是BOF和EOF

BOF是指当前记录位置位于 Recordset 对象的最后一个记录之前

EOF是指当前记录位置位于 Recordset 对象的最后一个记录之后

 

BOF跟EOF的返回值为:

BOF:为true,表示当前指针的位置是在的一行的前面

         为false,表示当前指针的位置是在第一行,或者在第一行的后面

EOF: 为True表示当前指针的位置是在最后一行的后面

           为False表示指针的位置是在最后一行,或者在最后一行的前面。

 

1.查找的数据库记录为空.

 

2.查找到数据后,用 Del 命令删除记录后,再引用 Fields 后会出现错误.

 

3.已经用MoveFirst 或用 MovePrevious 命令 移动至数据库开始后再用 MovePrevious 命令.

 

4.已经用MoveLast 或用 MoveNext 命令 移动至数据库开始后再用 MoveNext 命令.

 

就是数据库中没有数据。

Private Sub Cmddelete_Click()          '删除

    str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")

    If str2$ = vbOK Then       '点击确定

        mrc.Delete             '删除记录

        mrc.MoveNext           '指针往下走

           If mrc.EOF Then     '判断是否删

            If mrc.RecordCount = 0 Then         '判断上边有没有记录


                                             '如果没有的话卸载窗体

              MsgBox "无记录!"

            Unload Me

            Else                           

            mrc.MoveFirst            '否则指向第一条记录

            Call viewData

            End If

     End If

    End If

End Sub

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值