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

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

WBOY
WBOYOriginal
2016-06-07 15:59:182169Durchsuche

学生信息管理系统就是一套套的增、删、改、查。 下面我们就来分别分析一下。 一、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
<span style="white-space:pre">	</span>mrc.MoveNext
        If mrc.EOF Then          
        <span style="white-space:pre">	</span>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,取消删除
<pre name="code" class="vb">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为例。) 首先,点击修改记录时,各文本框可用,查看信息按钮不可用
<span style="font-size:18px;">cboClassNo.Enabled=True
cboGrade.Enabled=True
txtDirector.Enabled=True
txtClassroom.Enabled=True
cmdFirst.Enabled=False
cmdPrevious.Enabled=False
cmdNext.Enabled=False
cmdLast.Enabled=False</span>
其次,同添加记录一样,各文本框不能为空,信息不能重复。修改记录成功
<span style="font-size:18px;">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</span>
最后,各文本框不可用,查看信息按钮可用。
<span style="font-size:18px;">cboClassNo.Enabled=False
cboGrade.Enabled=False
txtDirector.Enabled=False
txtClassroom.Enabled=False
cmdFirst.Enabled=True
cmdPrevious.Enabled=True
cmdNext.Enabled=True
cmdLast.Enabled=True</span>
四、Inquire(查询记录。) 这里我们有两种查询方式:
(1)直接点击第一条,最后一条,上一条,下一条按钮查询记录。
<span style="font-size:18px;">Private Sub cmdFirst_Click()                                    &#39;记录集移动到第一条
    mrc.MoveFirst
    Call viewData
End Sub

Private Sub cmdLast_Click()                                     &#39;记录集移动到最后一条
    mrc.MoveLast
    Call viewData
End Sub
 
Private Sub cmdNext_Click()                                     &#39;记录集移动到下一条
    mrc.MoveNext
    If mrc.EOF Then
        mrc.MoveFirst
    End If
    Call viewData
End Sub
 
Private Sub cmdPrevious_Click()                                 &#39;记录集移动到上一条
    mrc.MovePrevious
    If mrc.BOF Then
        mrc.MoveLast
    End If
   Call viewData
End Sub</span>
此查询方法适合于查询记录少的,单个表的查询。
(2)按条件查找想要的数据,并在MSHFlexGrid控件中按顺序显示。
此查询方法适合于查询记录比较多的,表和表之间有联系的查询。按条件查询,并将查询结果排序。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn