欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

学生信息管理系统(五)增、删、改、查

程序员文章站 2022-05-26 13:33:55
...

学生信息管理系统就是一套套的增、删、改、查。 下面我们就来分别分析一下。 一、Add (添加一条记录,以frmAddclassinfo窗体为例) 首先,确保各个文本框不能为空。 用模块中的自定义函数Testtxt来检测文本框是否为空,若为空,弹出警告,文本框获取焦点。 例

学生信息管理系统就是一套套的增、删、改、查。 下面我们就来分别分析一下。 一、Add (添加一条记录,以frmAddclassinfo窗体为例)
首先,确保各个文本框不能为空。 用模块中的自定义函数Testtxt来检测文本框是否为空,若为空,弹出警告,文本框获取焦点。 例如:班号不能为空。
  If Not Testtxt(cboClassNo.Text) Then
        MsgBox "请输入班号!", vbOKOnly + vbExclamation, "警告"
        cboClassNo.SetFocus
        cboClassNo.Text = ""
        Exit Sub
    End If
其次,添加信息不能重复。
  txtSQL = "select * from class_Info where class_No='" & Trim(cboClassNo.Text) & "'"
  Set mrc = ExecuteSQL(txtSQL, MsgText)
  If  Not (mrc.EOF And mrc.BOF) Then                               '确保输入的班号不存在
        MsgBox "请重新输入班号!", vbOKOnly + vbExclamation, "警告"
        cboClassNo.SetFocus
        mrc.Close
  Else
  ……
最后,添加记录成功。
        txtSQL = "select * from class_Info"
        Set mrc = ExecuteSQL(txtSQL, MsgText)
        mrc.AddNew
        mrc.Fields(0) = Trim(cboClassNo.Text)
        mrc.Fields(1) = Trim(cboGrade.Text)
        mrc.Fields(2) = Trim(txtDirector.Text)
        mrc.Fields(3) = Trim(cboClassNo.Text)
        mrc.Update
        mrc.Close
        Me.Hide
        MsgBox "班级信息添加成功!", vbOKOnly + vbExclamation, "添加班级信息"
  End If
二、Delete(删除一条记录这里以frmModifyclassinfo为例。)

用一条MsgBox语句来决定是否删除记录。
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
OK,删除
If str2$ = vbOK Then
	mrc.MoveNext
        If mrc.EOF Then          
        	mrc.MoveFirst
                myBookmark = mrc.Bookmark
                mrc.MoveLast
                mrc.Delete
                mrc.Bookmark = myBookmark
                Call viewData
        Else
                myBookmark = mrc.Bookmark
                mrc.MovePrevious
                mrc.Delete         
                mrc.Bookmark = myBookmark
                Call viewData
        End If
cancel,取消删除
Else
	mrc.Bookmark=mybookmark
	Call viewData
End If
这里的viewData函数是用来把临时表中的当前记录赋值给各个文本框
cboClassNo.Text = mrc.Fields(0)
cboGrade.Text = mrc.Fields(1)
txtDirector.Text = mrc.Fields(2)
txtClassroom.Text = mrc.Fields(3)
三、Modify(修改一条记录,这里以frmModifyclassinfo为例。) 首先,点击修改记录时,各文本框可用,查看信息按钮不可用
cboClassNo.Enabled=True
cboGrade.Enabled=True
txtDirector.Enabled=True
txtClassroom.Enabled=True
cmdFirst.Enabled=False
cmdPrevious.Enabled=False
cmdNext.Enabled=False
cmdLast.Enabled=False
其次,同添加记录一样,各文本框不能为空,信息不能重复。修改记录成功
mrc.AddNew
mrc.Fields(0) = Trim(comboClassNo.Text)
mrc.Fields(1) = Trim(comboGrade.Text)
mrc.Fields(2) = Trim(txtDirector.Text)
mrc.Fields(3) = Trim(txtClassroom.Text)
mrc.Update
MsgBox "班级信息修改成功!", vbOKOnly + vbExclamation, "警告"
mrc.Bookmark = mybookmark
Call viewData
最后,各文本框不可用,查看信息按钮可用。
cboClassNo.Enabled=False
cboGrade.Enabled=False
txtDirector.Enabled=False
txtClassroom.Enabled=False
cmdFirst.Enabled=True
cmdPrevious.Enabled=True
cmdNext.Enabled=True
cmdLast.Enabled=True
四、Inquire(查询记录。) 这里我们有两种查询方式:
(1)直接点击第一条,最后一条,上一条,下一条按钮查询记录。
Private Sub cmdFirst_Click()                                    '记录集移动到第一条
    mrc.MoveFirst
    Call viewData
End Sub

Private Sub cmdLast_Click()                                     '记录集移动到最后一条
    mrc.MoveLast
    Call viewData
End Sub
 
Private Sub cmdNext_Click()                                     '记录集移动到下一条
    mrc.MoveNext
    If mrc.EOF Then
        mrc.MoveFirst
    End If
    Call viewData
End Sub
 
Private Sub cmdPrevious_Click()                                 '记录集移动到上一条
    mrc.MovePrevious
    If mrc.BOF Then
        mrc.MoveLast
    End If
   Call viewData
End Sub
此查询方法适合于查询记录少的,单个表的查询。
(2)按条件查找想要的数据,并在MSHFlexGrid控件中按顺序显示。
此查询方法适合于查询记录比较多的,表和表之间有联系的查询。按条件查询,并将查询结果排序。