机房收费系统之添加数据(增)
前言:
机房收费系统是继学生信息管理系统之后的另一个完整系统,与学生信息管理系统不同的是,此系统并没有提供源码和数据库,而且系统用户关系相对复杂,设计到报表等之前没有接触过的东西,同时,表与表之间的关系也比较复杂,会设计到多表查询的问题,所以无论是设计数据库表还是写程序,要求都能够很清楚的理清本系统之间的关系。而当我们回顾整个系统的时候,我们会发现其实用到的还是增删改查,特在此从这几个方面总结一下机房收费系统。
用到添加数据的窗体有注册、添加用户、上机记录的添加以及操作员工作记录的添加等内容。由于代码的基本原理基本相同,故不一一列出,以注册为例写一下我的思路。
第一步:一个学生的信息需要完整,因此我们应该首先判断各个内容是否为空,若是则提示,否则继续。当然有一些不是必须要填写的就没有必要判断是否为空了。第二步:由于上机的人的卡号和学号都是唯一的,因此接下来就要判断一下卡号与学号是否已经存在,如果已经存在,给出提示、卡号或学号清空并获得焦点,否则继续。第三步:也是最重要的一个步骤,就是将数据添加到数据中去,先找到要添加的数据的表格,然后使用addnew和update 将数据添加到数据表中。
部分代码如下:
'判断卡号是否重复
txtSQL = "select * from student_Info where cardno = '" & Trim(txtCardNo.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then
MsgBox "卡号重复,请重新输入卡号!", vbOKOnly + vbExclamation, "提示"
mrc.Close
txtCardNo.Text = ""
txtCardNo.SetFocus
Else
'判断学号是否重复
txtSQL = "select * from student_Info where studentno = '" & Trim(txtStudentNo.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then
MsgBox "学号重复,请重新输入学号!", vbOKOnly + vbExclamation, "提示"
mrc.Close
txtStudentNo.Text = ""
txtStudentNo.SetFocus
Else
mrc.Close
txtSQL = "select * from student_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText)
mrc.AddNew
mrc.Fields(0) = Trim(txtCardNo.Text)
mrc.Fields(1) = Trim(txtStudentNo.Text)
mrc.Fields(2) = Trim(txtName.Text)
mrc.Fields(3) = Trim(comboSex.Text)
mrc.Fields(4) = Trim(txtDepartment.Text)
mrc.Fields(5) = Trim(txtGrade.Text)
mrc.Fields(6) = Trim(txtClass.Text)
mrc.Fields(7) = Trim(txtCash.Text)
mrc.Fields(8) = Trim(txtExplain.Text)
mrc.Fields(9) = userID
mrc.Fields(10) = Trim(comboStatus.Text)
mrc.Fields(11) = "未结账"
mrc.Fields(12) = Trim(Date)
mrc.Fields(13) = Trim(Time)
mrc.Fields(14) = Trim(comboType.Text)
mrc.Update
MsgBox "添加学生信息成功!", vbOKOnly, "提示"
mrc.Close
txtSQL = "select * from recharge_info "
Set mrcR = ExecuteSQL(txtSQL, MsgText)
mrcR.AddNew
mrcR.Fields(1) = Trim(txtStudentNo.Text)
mrcR.Fields(2) = Trim(txtCardNo.Text)
mrcR.Fields(3) = Trim(txtCash.Text)
mrcR.Fields(4) = Date
mrcR.Fields(5) = Time
mrcR.Fields(6) = userID
mrcR.Fields(7) = "未结账"
mrcR.Update
End If
End If
添加用户的代码的原理与注册的原理基本相同,故不予赘述。当然除了这两个明显的添加数据的例子呢,还有一些不是很明显但也属于添加数据的情况,比如上机记录、正在上机记录以及操作员的工作记录。这里有一点需要注意的是在添加上机记录的时候,上机时将一些数据添加到上机表中去,下机的时候将一些其他的数据添加到下机表中去,在下机的时候添加下机日期和下机时间的时候我们不需要使用addnew这一语句,只需选好某一个对应的列,直接添加最后加上update即可。
一点个人见解,希望大家多多提出建议。