数据库删除最后一条信息时的报错解决

mybookmark = mrc.bookmark———-书签的作用
关于这一句话我之前还是有点迷得,只是知道这个相当于记录一个位置,然后根据mrc.bookmark=mybookmark来返回之前记录的位置。觉得没有什么,反正就是自己知道。但是去验项目的时候,师父问我的时候,却出现了意外,我一紧张竟然忘了,我知道这就是自己糊弄自己的后果。然后师父让我回来查一下。并且;应用书签的作用将删除语句完善。

首先介绍一下eof函数,它有函数值,它的函数值有两个true和false。它的()里的1就是参数。
它的含义是:读取文件的指针指到文件尾时,它的值就是true。还没有读到文件尾时,它的值为false。
括号里的参数是它判断的文件的文件号。
BOF:指当前记录位置位于Recordset对象的第一个记录之前;
EOF:指当前记录位置位于Recordset对象的最后一个记录之后。
这两个的属性值均返回布尔型:True和False,使用BOF和 EOF 属性可确定 Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。

其次介绍一下书签: 书签顾名思义就是做标记,让我们更好的控制使用数据表,通过书签我们可以随意的跳到我们想要看的记录下(前提是你的给你的目的记录标记书签),此外书签还有可以判断当前游标下是不是空记录(对于空记录 mybookmark 将返回 0)关于这个书签是空时等于零,我是真的不知知道怎么用,因为当我用if语句判断书签为空的时候,总是报错,而书签的值也不是0,而是错误提示。所以关于这个书签的应用是否正确,我不知道。
在书签等于零不能用之后,我想到了另外一种应用书签的方法。如下

Private Sub deleteCommand_Click()

                    myBookmark = mrc.Bookmark
    str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
    If str2$ = vbOK Then
            mrc.MoveNext
            If mrc.EOF Then
                mrc.MoveFirst
                myBookmark2 = mrc.Bookmark  '用新的书签记录当下位置
                mrc.MoveLast
                myBookmark1 = mrc.Bookmark  '用零一个书签记录当前位置
               If myBookmark1 = myBookmark2 Then  '判断两个书签记录的位置是否相同。
                                                  '如果相同,则证明,只有一条记录。
                        str2$ = MsgBox("这是最后一条记录,是否删除。", vbOKCancel, "警告")
                        If str2$ = vbOK Then

                         txtClassno.Enabled = False
                         comboGrade.Enabled = False
                         txtDirector.Enabled = False
                         txtClassroom.Enabled = False
                         mrc.Delete
                         End If

               Else
                    mrc.Delete

                mrc.Bookmark = myBookmark
                Call viewData
                End If
            Else
                myBookmark = mrc.Bookmark
                mrc.MovePrevious
                mrc.Delete          '删除记录后,游标的位置不能确定??
                mrc.Bookmark = myBookmark
                Call viewData
            End If
    Else
        mrc.Bookmark = myBookmark
        Call viewData
    End If

猜你喜欢

转载自blog.csdn.net/weixin_42263618/article/details/82049608