📄 学生管理.frm
字号:
Width = 735
End
Begin VB.Label Label2
Caption = "性 别"
Height = 255
Left = 3600
TabIndex = 4
Top = 360
Width = 855
End
Begin VB.Label Label1
Caption = "姓 名"
Height = 255
Left = 360
TabIndex = 2
Top = 480
Width = 735
End
End
End
Attribute VB_Name = "stu_manage"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Public rs As New ADODB.Recordset
Public adoconn As New ADODB.Connection 'Connection 对象代表了打开与数据源的连接。
'从文本输入框获取数据的变量声明
Public stu_name As String '姓名
Public sex As String '性别
Public birth As String '出生年月
Public policy As String '政治面貌
Public policy_id As Integer '政治面貌对应编号
Public nation As String '民族
Public nation_id As Integer '民族对应编号
Public address As String '家庭住址
Public post As String '邮政编码
Public stu_no As String '学号
Public enter As String '入学年份
Public college As String '学院
Public college_id As Integer '学院对应编号
Public major As String '专业
Public major_count As Integer '专业个数
Public major_id As Integer ' 专业对应编号
Public class As String '班级
Public Sub connect()
adoconn.ConnectionString = Adodc1.ConnectionString 'Adodc1为窗体中的ADO控件,并已成功连接数据库
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
End Sub
Private Sub Combo3_click()
Dim i As Integer
'获取学院名称
college = Combo3.Text
'获取学院编号
adoconn.Open
rs.Open "select * from college", adoconn
rs.MoveFirst
For i = 0 To rs.RecordCount - 1
If college = rs.Fields("name") Then
college_id = rs.Fields("id")
Exit For
End If
rs.MoveNext
Next i
rs.Close
adoconn.Close
'加载专业列表
Call major_combo
End Sub
Private Sub combo5_click()
enter = Combo5.Text
End Sub
'添加
Private Sub Command1_Click()
Call connect
'获取用户输入值
stu_name = Text1.Text
birth = Text2.Text
policy = Combo2.Text
nation = Combo1.Text
address = Text3.Text
post = Text4.Text
stu_no = Text5.Text
college = Combo3.Text
major = Combo4.Text
class = Text7.Text
Call fetch
'检验是否为空
If Len(stu_name) = 0 Then
MsgBox "请输入姓名!"
Text1.Text = ""
Text1.SetFocus
Exit Sub
ElseIf Len(stu_name) > 10 Then
MsgBox "姓名长度太长!"
Text1.Text = ""
Text1.SetFocus
Exit Sub
ElseIf Len(birth) <> 4 Then
MsgBox "出生年月请用“8701”格式,长度只能为4位!"
Text2.Text = ""
Text2.SetFocus
Exit Sub
ElseIf Len(stu_no) = 0 Then
MsgBox "请输入学号!"
Text5.SetFocus
Exit Sub
ElseIf Len(post) <> 6 Then
MsgBox "邮政编码长度应该为6位!"
Text4.Text = ""
Text4.SetFocus
Exit Sub
ElseIf Len(enter) = 0 Then
MsgBox "请选择入学年份!"
Combo5.SetFocus
Exit Sub
ElseIf Len(college) = 0 Then
MsgBox "请选择该生所在学院!"
Combo3.SetFocus
Exit Sub
ElseIf Len(major) = 0 Then
MsgBox "请选择该生所在专业!"
Combo4.SetFocus
Exit Sub
End If
Dim i As Integer
adoconn.Open
'数据库中没有用户信息时
rs.Open "select * from stu", adoconn
If rs.RecordCount = 0 Then
Call add
Else
'数据库中至少存在一个用户信息,判断新输入的用户是否已经存在
For i = 0 To rs.RecordCount - 1
If stu_no = rs.Fields("no") Then
MsgBox "该学号已经添加!"
Call clear
rs.Close
adoconn.Close
Exit Sub
End If
rs.MoveNext
Next i
'新输入的用户名在数据库中找不到,且输入不为空值,则添加进数据库
Call add
End If
End Sub
Private Sub Command2_Click()
Unload Me
stu_cd.Show
End Sub
Private Sub Command3_Click()
Unload Me
stu_cd.Show
End Sub
Private Sub Form_Load()
Option1.Value = True
Dim i As Integer
Dim r As Integer
Call connect
'入学年份加载
Combo5.AddItem "2000"
Combo5.AddItem "2001"
Combo5.AddItem "2002"
Combo5.AddItem "2003"
Combo5.AddItem "2004"
Combo5.AddItem "2005"
Combo5.AddItem "2006"
Combo5.AddItem "2007"
Combo5.AddItem "2008"
Combo5.AddItem "2009"
Combo5.AddItem "2010"
'“民族”组合框加载
Combo1.clear
adoconn.Open
rs.Open "select * from nation", adoconn
If rs.RecordCount = 0 Then
rs.Close
Else
rs.MoveFirst
For i = 0 To rs.RecordCount - 1
Combo1.AddItem rs.Fields("name")
rs.MoveNext
Next i
rs.Close
End If
'“政治面貌”组合框加载
Combo2.clear
rs.Open "select * from policy", adoconn
If rs.RecordCount = 0 Then
rs.Close
Else
rs.MoveFirst
For i = 0 To rs.RecordCount - 1
Combo2.AddItem rs.Fields("name")
rs.MoveNext
Next i
rs.Close
End If
'“学院”组合框加载
Combo3.clear
rs.Open "select * from college", adoconn
If rs.RecordCount = 0 Then
r = MsgBox("系统所需学院数据为空,请报告系统管理员!", 0 + 16 + 0, "出错啦!")
If r = 1 Then
rs.Close
End
End If
Else
rs.MoveFirst
For i = 0 To rs.RecordCount - 1
Combo3.AddItem rs.Fields("name")
rs.MoveNext
Next i
rs.Close
End If
adoconn.Close
End Sub
Private Sub Option1_Click()
sex = "男"
End Sub
Private Sub Option2_Click()
sex = "女"
End Sub
Private Sub Text2_click()
Text2.Text = ""
End Sub
Public Sub add()
rs.AddNew
rs.Fields("no") = stu_no
rs.Fields("name") = stu_name
rs.Fields("sex") = sex
rs.Fields("nation") = nation_id
rs.Fields("policy") = policy_id
rs.Fields("birth") = birth
rs.Fields("addr") = address
rs.Fields("post") = post
rs.Fields("college") = college_id
rs.Fields("enter_year") = enter
rs.Fields("major") = major_id
rs.Fields("class") = class
rs.Update
rs.Close
Call clear
MsgBox "添加学生信息成功"
adoconn.Close
End Sub
Public Sub clear()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text7.Text = ""
Text1.SetFocus
End Sub
'加载专业列表
Public Sub major_combo()
adoconn.Open
Combo4.clear
Dim i As Integer
'获取所有专业总数
rs.Open "select * from major", adoconn
major_count = rs.RecordCount
'总数不为零,则找出该学院对应专业
If major_count <> 0 Then
rs.MoveFirst
For i = 0 To rs.RecordCount - 1
If college_id = rs.Fields("college") Then
Combo4.AddItem rs.Fields("name")
End If
rs.MoveNext
Next i
rs.Close
End If
adoconn.Close
End Sub
Public Sub fetch()
Dim i As Integer
adoconn.Open
'从数据库中获取民族对应的编号
If Len(nation) = 0 Then
nation_id = 1
Else
rs.Open "select * from nation ", adoconn
For i = 0 To rs.RecordCount - 1
If rs.Fields("name") <> nation Then
rs.MoveNext
Else
nation_id = rs.Fields("id")
Exit For
End If
Next i
rs.Close
End If
'从数据库中获取政治面貌对应的编号
If Len(policy) = 0 Then
policy_id = 2
Else
rs.Open "select * from policy", adoconn
For i = 0 To rs.RecordCount - 1
If rs.Fields("name") <> policy Then
rs.MoveNext
Else
policy_id = rs.Fields("id")
Exit For
End If
Next i
rs.Close
End If
'从数据库中获取专业对应的编号
If Len(major) = 0 Then
major_id = 0
Else
rs.Open "select * from major", adoconn
For i = 0 To rs.RecordCount - 1
If rs.Fields("name") <> major Then
rs.MoveNext
Else
major_id = rs.Fields("id")
Exit For
End If
Next i
rs.Close
End If
adoconn.Close
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -