雨落天涯

问花花不语,为谁落,为谁开。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

     刚开始敲学生信息管理系统的时候,对代码一点都不理解,但是还是硬着头皮敲下去,后来敲的多了,慢慢的就有点感觉了!磕磕撞撞的把系统敲完了!

    学生信息管理系统的主要功能也就对学生信息的添加、删除、修改、查询这四个功能!敲完了系统,尝试着去总结这几个功能,下面是自己对删除这一功能代码的一点小认识!

Private Sub deleteCommand_Click()
    Dim MsgText As String
    myBookmark = mrc.Bookmark                  '标记当前的位置
    str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
    If str2$ = vbOK Then
            mrc.MoveNext
            If mrc.EOF Then                                       '如果没有记录
                mrc.MoveFirst
                myBookmark = mrc.Bookmark                     '做标记
                mrc.MoveLast  
                mrc.Delete                                                            '删除最后一条
                mrc.Bookmark = myBookmark                            '保留当前的记录
                mrc.Close
                
                txtSQL = "select * from result_Info"           '重新取一回,相当于刷新
                Set mrc = ExecuteSQL(txtSQL, MsgText)
                mrc.MoveLast
                Call viewData
            Else
                myBookmark = mrc.Bookmark           
                mrc.MovePrevious
                mrc.Delete                                                   '删除前一条
                mrc.Bookmark = myBookmark
                mrc.Close
                
                txtSQL = "select * from result_Info"
                Set mrc = ExecuteSQL(txtSQL, MsgText)
                mrc.MoveLast
                Call viewData                                      '显示数据
            End If
    Else
        mrc.Bookmark = myBookmark
        Call viewData
    End If
End Sub

 

     首先,删除一条记录,我们有可能删除的是第一条,也有可能删除的是最后一条,为了以防我们删除记录的时候指针指空,所以我们定义了一个Bookmark变量,代表书签的意思!只要理解了Bookmark在这里面是怎么起作用的,删除记录功能理解起来就容易多了!

   当我们点击删除记录按钮的时候,先标记好当前记录集指针指向的位置,即bookMark = mrc.bookMark,然后判断是否要删除记录,如果删除,记录指针移动下一条,用mrc.EOF判断删除的是否为最后一条!如下图:

   1.mrc.EOF = True 即删除的是最后一条记录,记录指针则返回第一行记录,在第一行做好标签,指针重新移动到最后一条,删除最后一条记录!并保留当前的书签位置!

   2. mrc.EOF = False 即删除的不是最后一条记录,记录指针移动到下一条,标记好当前的位置!记录指针重新移回到前一条的记录,删除前一条记录!并保留当前的书签位置!

   最后,关闭记录集对象,重新查询数据库表,相当于是刷新删除后的记录,最后用ViewData函数来显示数据!这样,删除记录功能就完成了!

posted on 2012-08-21 19:39  雨落天涯  阅读(199)  评论(0编辑  收藏  举报