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

📄 frmstuadmin.frm

📁 学生选课管理系统 实用
💻 FRM
📖 第 1 页 / 共 2 页
字号:
        cnn.Execute (SQL)
       ' 删除学生选课信息
        SQL = "delete from jc_sc where sno='" & TxtXH.Text & "'"
        On Error Resume Next
        cnn.Execute (SQL)
    
    End If
    
    Call getAllRecords
End Sub

Private Sub cmdExit_Click()
    Unload Me
End Sub


Private Sub cmdSave_Click()
    
    
    '检查是否存在该学生生数据
    If TxtXH.Text = "" Then
        Call showMsg("学号不能为空!", 1)
        Exit Sub
    End If
    
        
        SQL = "select sno from jc_s where sno='" & TxtXH.Text & "'"
        On Error Resume Next
        Set xsjl = cnn.Execute(SQL)
        
        On Error Resume Next
        If xsjl.BOF And xsjl.EOF Then
    
       SQL = "insert into jc_c(sno,sname,sex,age,dept) "
       SQL = SQL & " values ('" & TxtXH.Text & "','" & TxtXM.Text & "','" & cobXB.Text & "','" & cobNL.Text & "','" & TxtZY.Text & "')"
       
       On Error Resume Next
       cnn.Execute (SQL)

       Call showMsg("添加 " & TxtXM.Text & " 的信息成功!", 1)
       
    Else
        SQL = "update jc_s set sname='" & TxtXM.Text & "',sex='" & cobXB.Text & "',age='" & cobNL.Text & "',dept='" & TxtZY.Text & "' where sno='" & TxtXH.Text & "'"
        
        On Error Resume Next
        cnn.Execute (SQL)
        SQL = "select sno from jc_s where sno='" & TxtXH.Text & "'"
        
        On Error Resume Next
        Set xsjl = cnn.Execute(SQL)
        
        Call showMsg("修改 " & TxtXM.Text & "的信息成功!", 1)
    End If
    
    Call getAllRecords
End Sub

Private Sub cmdFind_Click()

     Dim strKeyword As String
    strKeyword = Trim(TxtKeyword.Text)
    
   
    If cobField.Text = "" Then
        Call showMsg("请选择查询方式!", 1)
        cobField.SetFocus
        Exit Sub
    ElseIf strKeyword = "" Then
        Call showMsg("请输入关键字!", 1)
        TxtKeyword.Enabled = True
        TxtKeyword.SetFocus
        Exit Sub
    Else
    
        If strFieldName <> "" Then
        SQL = "select sno,sname,sex,age,dept from jc_s where " & strFieldName & " like '%" & strKeyword & "%'"
        
        On Error Resume Next
        Set xsjl = cnn.Execute(SQL)
        
        Call Data_Display
        SQL = "select count(sno) as snums from jc_s where " & strFieldName & " like '%" & strKeyword & "%'"
        getRecordsNums SQL
        End If
    End If

End Sub
Function getRecordsNums(ByVal TmpSql As String) As String
    Dim rs As ADODB.Recordset
    On Error Resume Next
    Set rs = cnn.Execute(TmpSql)
    lbScounts.Caption = "当前共" & rs("snums") & "个学生信息"
    getRecordsNums = lbScounts.Caption
End Function

Private Sub getAllRecords()
    
   SQL = "select count(sno) as snums from jc_s"
   getRecordsNums SQL

    SQL = "select sno,sname,sex,age,dept from jc_s order by sno desc "
    On Error Resume Next
    Set xsjl = cnn.Execute(SQL)
    
    Call Data_Display
    
End Sub
Private Sub getFieldOrd()
    If strFieldName <> "" Then
        SQL = "select sno,sname,sex,age,dept from jc_s order by " & strFieldName
            If StrOrd <> "" Then
            SQL = SQL & " " & StrOrd
            End If
        On Error Resume Next
        Set xsjl = cnn.Execute(SQL)
        Call Data_Display
    End If
End Sub




Private Sub cobField_Change()
Call cobField_Click
End Sub

Private Sub cobField_Click()
    '得到所选择的排序方式并转化为字段名
    Select Case cobField.ListIndex
        Case 0: strFieldName = "sno"
        Case 1: strFieldName = "sname"
        Case 2: strFieldName = "sex"
        Case 3: strFieldName = "age"
        Case 4: strFieldName = "dept"
        Case Else: strFieldName = "sno"
    End Select
    TxtKeyword.Enabled = True
End Sub

Private Sub cobOrd_Click()

    '得到所选择的排列升降序方式
     Select Case cobOrd.ListIndex
        Case 0: StrOrd = "asc"
        Case 1: StrOrd = "desc"
        Case Else: StrOrd = "asc"
    End Select
    
    Call getFieldOrd
End Sub

Private Sub cobOrdField_Click()

    '得到所选择的排序方式并转化为字段名
    Select Case cobOrdField.ListIndex
        Case 0: strFieldName = "sno"
        Case 1: strFieldName = "sname"
        Case 2: strFieldName = "sex"
        Case 3: strFieldName = "age"
        Case 4: strFieldName = "dept"
        Case Else: strFieldName = "sno"
    End Select
    
    Call getFieldOrd
End Sub

Private Sub Form_Activate()

    '初始化下拉列表,Style均为 2 -Dropdown List
    cobXB.AddItem ("男")
    cobXB.AddItem ("女")
    
    cobNL.AddItem ("18")
    cobNL.AddItem ("19")
    cobNL.AddItem ("20")
    cobNL.AddItem ("21")
    cobNL.AddItem ("22")
    cobNL.AddItem ("23")
    cobNL.AddItem ("24")
    cobNL.AddItem ("25")
    
    cobField.AddItem "学号", 0
    cobField.AddItem "姓名", 1
    cobField.AddItem "性别", 2
    cobField.AddItem "年龄", 3
    cobField.AddItem "系别", 4
    
    cobOrdField.AddItem "学号", 0
    cobOrdField.AddItem "姓名", 1
    cobOrdField.AddItem "性别", 2
    cobOrdField.AddItem "年龄", 3
    cobOrdField.AddItem "系别", 4
    
    
    cobOrd.AddItem "升序", 0
    cobOrd.AddItem "降序", 1
End Sub

Private Sub Form_Load()
    Dim strErr As String
  
    If cnn.State = 0 Then
  
       On Error GoTo errNotable:
       cnn.Open connStr
       
    End If
    
    '调用Clear过程,清空所有文本
    Call Clear
    '调用getAllRecords过程,显示所有记录
    Call getAllRecords
    
    Exit Sub

errNotable:
    strErr = "没有找到相应数据,请确认所选择的数据源指向的是MS SQL Server数据库" & _
         vbCrLf & "并且数据库中已经存在学生信息表。" & _
         vbCrLf & "您可以选择初始化重新设置数据表。" & vbCrLf
    Call showMsg(strErr, 0)
End Sub

Private Sub MSFG_Clear()

    With MSFlexGrid1
        .Cols = 0
        .Rows = 0
    End With
    
End Sub

Private Sub Data_Display()
    Dim i As Integer
    '清空表
    Call MSFG_Clear
    With MSFlexGrid1
        On Error Resume Next
        If (xsjl.BOF) Or (xsjl.EOF) Then
        
            Call showMsg("没有找到任何记录 !", 1)
            
            .Cols = 0
            .Rows = 0
            Frame3.Enabled = False
        Else
            .Cols = 5
            .Rows = 1
            Frame3.Enabled = True
        
            '得到每一个列的列名
           ' For i = 0 To 4
           '     .TextMatrix(0, i) = xsjl.Fields(i).Name
           ' Next i
            
            .TextMatrix(0, 0) = "学号"
            .TextMatrix(0, 1) = "姓名"
            .TextMatrix(0, 2) = "性别"
            .TextMatrix(0, 3) = "年龄"
            .TextMatrix(0, 4) = "所在系"
            
            .ColWidth(0) = 1500
            .ColWidth(1) = 1500
            .ColWidth(2) = 1500
            .ColWidth(3) = 800
            .ColWidth(4) = 2500
            
            
            On Error GoTo rsErr
            
            Do While Not xsjl.EOF
                .Rows = .Rows + 1
                '显示一条记录
                For i = 0 To 4
                .TextMatrix(MSFlexGrid1.Rows - 1, i) = Trim(xsjl.Fields(i))
                Next i
                '移动游标到下一条记录
                xsjl.MoveNext
            Loop
            
            
        End If
    End With
    Exit Sub
     
rsErr:
     Call showMsg(" ", 0)
End Sub


Private Sub Form_Resize()
'使所有框架居中

    With Me
        Frame4.Left = (.ScaleWidth - Frame4.Width) / 2
        Frame4.Top = (.ScaleHeight - Frame4.Height) / 2
    End With
End Sub

Private Sub Form_Unload(Cancel As Integer)
    mdiFrm.stb.SimpleText = "就绪"
    Unload Me
End Sub

Private Sub MSFlexGrid1_Click()
    gRow = MSFlexGrid1.Row
    With MSFlexGrid1
    
        '得到一条记录
        On Error GoTo exitThis
       ' TxtXH.Text = .TextMatrix(MSFlexGrid1.Rows - 1, 0)
       '如果为零,则说明所选择的是第一行标题
        Call Clear
        If gRow <> 0 Then
            TxtXH.Text = .TextMatrix(gRow, 0)
            TxtXM.Text = .TextMatrix(gRow, 1)
            cobXB.Text = .TextMatrix(gRow, 2)
            cobNL.Text = .TextMatrix(gRow, 3)
            TxtZY.Text = .TextMatrix(gRow, 4)
        End If
        
    End With
    
exitThis:
    
End Sub

Private Sub MSFlexGrid1_RowColChange()
    Call MSFlexGrid1_Click
End Sub


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -