学生信息管理系统(一)添加信息

信息添加的流程:

1.定义

 Dim mrc As ADODB.Recordset                  '定义一个记录集,用来保存
 Dim txtSQL As String                          '用来执行的SQL语句
 Dim MsgText As String                       '执行完SQL语句后的弹出框

2.添加
2.1.text控件输入信息

1.输入学号:
If Not Testtxt(txtSID.Text) Then                          '检测学号输入是否为空
   MsgBox "请输入学号!",vbOKOnly + vbExclamation, "警告    '如果为空弹警告框,从新输入学号
   Exit Sub
   txtSID.SetFocus     
End If

If Not IsNumeric(Trim(txtSID.Text)) Then                    '检测输入学号是否为数字
   MsgBox "请输入数字!",vbOKOnly + vbExclamation, "警告"  '如果不为数字弹出警告框,从新输入学号
   Exit Sub
   txtSID.SetFocus
 End If                          'IsNumeric判断表达式的运算结果是否为数字,返回 Boolean 值
2 .输入日期
If NotTesttxt(txtBorndate.Text) Then                       ' 检测日期是否输入是否为空   
   MsgBox "请输入出生日期!",vbOKOnly + vbExclamation, "警告"      ' 如果为空弹出警告框,从新输入日期
   txtBorndate.SetFocus
   Exit Sub
End If

定义日期格式
txtBorndate = Format(txtBorndate, "yyyy-mm-dd")      '定义日期的格式为yyyy-mm-dd   
If Not IsDate(txtBorndate.Text) Then                 '验证输入日期是否为规定的格式   
   MsgBox "出生时间应输入日期格式(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"  
                                                     '如果输入格式不正确,弹出警告框
txtBorndate.SetFocus           注:'format 根据格式表达式中的指令来格式化。
End If                         注:'IsDate(txtBorndata),验证txtBorndata是否为标准日期格式

2.2.combobox控件选择信息                
方式1 直接加载

方式1 直接加载
If NotTesttxt(comboSex.Text) Then                                '检测性别是否选择
   MsgBox "请选择性别!",vbOKOnly + vbExclamation, "警告"      '如果没有选择弹出警告框,选择性别。
   comboSex.SetFocus
   Exit Sub
End If

Private SubForm_Load()                        '启动窗体时加载填充数据的选择项 "男","女" 
   comboSex.AddItem"男"
   comboSex.AddItem"女"
End Sub

方式2从已添加的数据库中加载  两种添加方式(1),(2)
例子:在添加成绩信息中选择班号  (班级信息已经添加)

If Not Testtxt(comboClassNo.Text) Then                    '检测班号是否选择                                          
   MsgBox "请选择班号!",vbOKOnly + vbExclamation, "警告"   '如果没有选择弹出警告框,选择班号。
   comboClassNo.SetFocus
   Exit Sub  
End If
方式(1)   
Private Sub Form_Load()
   Dim mrc As ADODB.Recordset
   Dim txtSQL As String
   Dim MsgText As String
   Dim i As Integer

   txtSQL = "select * from class_Info"
   Set mrc = ExecuteSQL(txtSQL, MsgText)

   For i = 1 To mrc.RecordCount            '循环语句 , 启动窗体时加载已经存在数据库中的班号。
      comboClassNo.AddItem mrc.Fields(0)
      mrc.MoveNext
      Next i
   mrc.Close
End Sub
方式(2)    
Private SubForm_Load()
   Dim mrc As ADODB.Recordset
   Dim txtSQL As String
   Dim msgtext As String
 
   txtSQL ="select * from class_Info "
   Set mrc = ExecuteSQL(txtSQL, MsgText)

   While (mrc.EOF = False)                           '逐一加载数据库中已存在的班级
      comboClassno.AddItem mrc!class_No
      mrc.MoveNext
   Wend
   mrc.Close
End sub


3.  检查输入信息是否在数据库中已经存在。两种方式(1),(2)

3.1.检查添加课程

方式(1)
txtSQL ="select * from course_Info "                    ' sql执行语句,查询课程表                                          
Set mrc = ExecuteSQL(txtSQL, MsgText)                   'mrc用来保存txtsql查询得到的信息,
                                                         'msgtext来显示查询函数的查询状态。
While (mrc.EOF = False)
   If (Trim(mrc.Fields(0)) =Trim(txtCourseno.Text)) Then   '判断class_info表中班号列的第一条记录是否与输入班号相同                         
      MsgBox "课程编号已经存在,请重新输入课程编号!", vbOKOnly + vbExclamation, "警告"          '如果相同从输班号
      txtCourseno.Text = ""
      txtCourseno.SetFocus
      Exit Sub
   Else
      mrc.MoveNext          '如果第一条不相同在比较下一条
   End If
Wend
方式(2) 
txtSQL = "select * fromcourse_Info where course_no = ' " & Trim(txtCourseno.Text) &"'"                        
Set mrc = ExecuteSQL(txtSQL, MsgText)                '通过输入的班号查找获得class_info表关于班号的课表                                                                                                                         

If mrc.EOF = False Then                                        '指针在第一记录与最后一个记录之间
   MsgBox "课程编号已经存在,请重新输入课程编号!", vbOKOnly + vbExclamation, "警告"     '输入的班号,表中已存在,从新输入
   mrc.Close
   txtCourseno.SetFocus
End  If                                                                          比较:两种方式的不同。

3.2.检查添加成绩

txtSQL = "select * from result_Info where exam_No ='" & comboExamtype.Text & 
         "' and student_ID = '" &comboSID.Text & "' and course_Name = '" & comboCourse.Text& "'"
Set mrc =ExecuteSQL(txtSQL, MsgText)

If mrc.EOF = False Then
   MsgBox "有相同纪录,请重新输入信息!",vbOKOnly + vbExclamation, "警告"
   mrc.Close
 End If                      注:添加课程时,课程编号唯一,    
                                添加学籍时当考试编号,学号,课程相同时才显示有相同记录。
                                添加学籍时也可以用方式一来检测,但相对于方式二有点复杂。

4.向数据库中添加数据

添加数据库的sql语句 
txtSQL= "select * from student_Info" 
        '"student_info 数据库表名称"
Set mrc =ExecuteSQL(txtSQL, MsgText)
    mrc.AddNew
    mrc.Fields(0) = Trim(txtSID.Text)
    mrc.Fields(1) = Trim(txtName.Text)
    mrc.Fields(2) = Trim(comboSex.Text)
    mrc.Fields(3) = Trim(txtBorndate.Text)
    mrc.Fields(4) = Trim(comboClassno.Text)
    mrc.Fields(5) = Trim(txtTel.Text)
    mrc.Fields(6) = Trim(txtRudate.Text)
    mrc.Fields(7) = Trim(txtAddress.Text)
    mrc.Fields(8) = Trim(txtComment.Text)
    mrc.Update
    MsgBox "添加学籍信息成功!", vbOKOnly + vbExclamation, "警告"


 

 

 

你可能感兴趣的:(学生信息管理系统(一)添加信息)