学生信心管理系统之———书签的作用(bookmark)

      在弄学生信息管理系统时,记录集的书签让我很头疼,我不知道它是干嘛的,有什么作用,光知道在修改信息时用到它 ,于是在网上搜所,通过书签我们可以随意的跳到我们想要看的记录下(前提是你得给自己的目的记录标记书签),当我们在删除记录集中最后一条记录的时候,系统会报错,错误如下所示,
   
学生信心管理系统之———书签的作用(bookmark)_第1张图片
        为什么会出现这个错误那?因为我们把所有的记录都删完了,造成程序逻辑错误,怎样才能防止它发生哪?下面我们看看书签(bookmark)的作用吧!
      下面通过删除记录的代码说明
       Private Sub deleteCommand_Click()
       If mrc.EOF = True Then'先检查表中是否有记录
          MsgBox "表中已经无记录"
          Exit Sub
       Else
       myBookmark = mrc.Bookmark '对当前记录作标签
       str2$ = MsgBox("是否修改当前记录?", vbOKOnly + vbExclamation, "警告")
       If str2$ = vbOK Then
       mrc.MoveNext
       If mrc.EOF Then '判断要删除的记录是否是最后一个。
            MsgBox "你删除的是表中唯一的一条记录"
            mrc.MoveFirst '移动到记录的第一条
            myBookmark = mrc.Bookmark            '对第一条记录做标记
            mrc.MoveLast
            mrc.Delete
            txtClassno.Text = ""
            comboGrade.Text = ""
            txtDirector.Text = ""
            txtClassroom.Text = ""
            '删除最后一条之后让没有用的command按钮失效,这样能避免很多错误。
           firstCommand.Enabled = False
           previousCommand.Enabled = False
           nextCommand.Enabled = False
           lastCommand.Enabled = False
           previousCommand.Enabled = False
           updateCommand.Enabled = False
           editCommand.Enabled = False
           cancelCommand.Enabled = False
            mrc.Bookmark = myBookmark '让记录回到先前定义书签的位置

       Else '删除的不是最后一条记
            myBookmark = mrc.Bookmark '给MoveNext做标记
            mrc.MovePrevious          '回到要删除的记录
            mrc.Delete
            mrc.Bookmark = myBookmark '让记录回到先前定义书签的位置
            Call viewData
      End If

      Else                              '取消删除记录
        myBookmark = mrc.Bookmark     '让记录显示刚开始定义书签的位置
        Call viewData
    End If
  End If
 
End Sub

      这时候,当我们删除最后一条记录时系统就会提示给我们了,这算是给删除模块做一点点小改进吧,书签我们还应该继续学习。希望大家挑错,有不对或者建议希望大家提出来。
       这时候我们再删除表中的记录时,系统就不会再报上面的错误了。
        那么我们可以再启动窗体之前检查一下数据库的表中是否存在信息,检查方法如下
       
Private Sub Form_Load()
    Dim txtSQL As String
    Dim MsgText As String
    txtSQL = "select * from class_Info "
    Set mrc = ExecuteSQL(txtSQL, MsgText)
     If mrc.EOF = True Then’表示数据库中无信息
             MsgBox "表中无信息"
             Exit Sub‘直接退出
      Else
             mrc.MoveFirst
            Call viewData
            myBookmark = mrc.Bookmark
            mcclean = True
    End If
End Sub
    好了  如果表为空,就会直接退出。

你可能感兴趣的:(数据库)