⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 学生管理.frm

📁 初学vb,做的第一个系统.一个星期内看vb并做完这个系统的.
💻 FRM
📖 第 1 页 / 共 2 页
字号:
         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 + -