📄 mainform.frm
字号:
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
_Version = 393216
End
Begin MSDataGridLib.DataGrid DataGrid2
Height = 495
Left = 600
TabIndex = 40
Top = 4440
Visible = 0 'False
Width = 2175
_ExtentX = 3836
_ExtentY = 873
_Version = 393216
AllowUpdate = -1 'True
HeadLines = 1
RowHeight = 15
BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ColumnCount = 2
BeginProperty Column00
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
BeginProperty Column01
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
SplitCount = 1
BeginProperty Split0
BeginProperty Column00
EndProperty
BeginProperty Column01
EndProperty
EndProperty
End
End
Attribute VB_Name = "MainForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'数据库是用VB自带的VisData建立的,一共有3个表,分别为:Cou、CouInfo、StuInfo。
'Cou为选课记录表,CouInfo为课程基本信息表、StuInfo为学生信息表。
'打开数据库的函数放在Module1.bas文件中供整个程序调用
'在每个按钮的代码中均有简单的拼写检查功能并且忽略用户输入的空格
''''''''''''''''选课系统模块'''''''''''''''''''''''
'选课
Private Sub Button_AAdd_Click()
Dim Sno, Sname, Cno, CName, cmdSQL, Temp As String
Sno = Trim(Text_ASNo.Text)
Cno = Trim(Text_ACNo.Text)
If Sno = Empty Then
MsgBox "请输入学号!", , "注意"
Text_ASNo.SetFocus
Exit Sub
End If
If Cno = Empty Then
MsgBox "请输入课程号!", , "注意"
Text_ACNo.SetFocus
Exit Sub
End If
On Error GoTo Error_process
'通过学号查询学生姓名
cmdSQL = "SELECT SName From StuInfo WHERE Sno=" & Sno & ""
Adodc_Cou.RecordSource = cmdSQL
Adodc_Cou.Refresh
Set DataGrid2.DataSource = Adodc_Cou.Recordset
Sname = DataGrid2.Columns("Sname").Value
'通过课程号查询课程名称
cmdSQL = "SELECT CName FROM CouInfo WHERE Cno=" & Cno & ""
Adodc_CouInfo.RecordSource = cmdSQL
Adodc_CouInfo.Refresh
Set DataGrid2.DataSource = Adodc_CouInfo.Recordset
CName = DataGrid2.Columns("Cname").Value
'检查是否已选
cmdSQL = "SELECT Sno FROM Cou WHERE Cno=" & Cno & " AND Sno=" & Sno & ""
Adodc_CouInfo.RecordSource = cmdSQL
Adodc_CouInfo.Refresh
If Adodc_CouInfo.Recordset.EOF = False Then
MsgBox "" & Sname & "已经选了《" & CName & "》,请核对!", vbOKOnly, "注意"
Exit Sub
End If
'没有选,向数据库写入记录
cmdSQL = "INSERT INTO Cou (Cno,Cname,Sno,Sname)" & _
"VALUES (" & Cno & ",'" & CName & "'," & Sno & ",'" & Sname & "')"
Open_DB ("Cou")
Conn.Execute cmdSQL
Close_DB
MsgBox "选课成功!" & Sname & "选修了《" & CName & "》。"
Exit Sub
Error_process:
MsgBox "选课出错:" & Err.Description & Err.Number, vbCritical + vbOKOnly, "错误"
End Sub
'退选
Private Sub Button_ADelete_Click()
Dim Sno, Cno, No, cmdSQL, Temp As String
Sno = Trim(Text_ASNo.Text)
Cno = Trim(Text_ACNo.Text)
If Sno = Empty Then
MsgBox "请输入学号!", , "注意"
Text_ASNo.SetFocus
Exit Sub
End If
If Cno = Empty Then
MsgBox "请输入课程号!", , "注意"
Text_ACNo.SetFocus
Exit Sub
End If
On Error GoTo Error_process
cmdSQL = "SELECT Sno FROM Cou WHERE Cno=" & Cno & " AND Sno=" & Sno & ""
Adodc_CouInfo.RecordSource = cmdSQL
Adodc_CouInfo.Refresh
If Adodc_CouInfo.Recordset.EOF = True Then
MsgBox "对不起,没有选课记录,请核对!", vbOKOnly, "注意"
Exit Sub
End If
cmdSQL = "DELETE FROM Cou WHERE Cno=" & Cno & " AND Sno=" & Sno & ""
Open_DB ("Cou")
Conn.Execute cmdSQL
Close_DB
MsgBox "退选成功!"
Exit Sub
Error_process:
MsgBox "退选出错:" & Err.Description & Err.Number, vbCritical + vbOKOnly, "错误"
End Sub
'选课情况查询
Private Sub Button_ASearth_Click()
Dim Sno, Cno, CName, CCredit, cmdSQL As String
Sno = Trim(Text_ASNo.Text)
Cno = Trim(Text_ACNo.Text)
CName = Trim(Text_ACName.Text)
CCredit = Trim(Text_ACCredit.Text)
cmdSQL = "SELECT Cou.Sno As 学号,Cou.SName As 姓名,Cou.CNo As 课程号,CouInfo.CName As 课程名称, CouInfo.CCredit As 学分 "
If Sno <> Empty Then
cmdSQL = cmdSQL + "FROM Cou INNER JOIN CouInfo " & _
"ON Cou.Cno=CouInfo.Cno " & _
"WHERE Cou.Sno=" & Sno & " ORDER BY Cou.Cno"
GoTo A
End If
If Cno <> Empty Then
cmdSQL = cmdSQL + "FROM Cou INNER JOIN CouInfo " & _
"ON Cou.Cno=CouInfo.Cno " & _
"WHERE Cou.Cno=" & Cno & " ORDER BY Cou.Sno"
GoTo A
End If
If CName <> Empty Then
cmdSQL = cmdSQL + "FROM Cou INNER JOIN CouInfo " & _
"ON Cou.Cno=CouInfo.Cno " & _
"WHERE CouInfo.CName='" & CName & "' ORDER BY Cou.Sno"
GoTo A
End If
If CCredit <> Empty Then
cmdSQL = cmdSQL + "FROM Cou INNER JOIN CouInfo " & _
"ON Cou.Cno=CouInfo.Cno " & _
"WHERE CouInfo.CCredit=" & CCredit & " ORDER BY Cou.Sno"
End If
'检查用户是否输入了查询条件
A: If cmdSQL = "SELECT Cou.Sno As 学号,Cou.SName As 姓名,Cou.CNo As 课程号,CouInfo.CName As 课程名称, CouInfo.CCredit As 学分 " Then
MsgBox "请输入查询条件!", vbOKOnly, "注意"
Exit Sub
End If
On Error GoTo Error_process
Adodc_Cou.RecordSource = cmdSQL
Adodc_Cou.Refresh
Set DataGrid1.DataSource = Adodc_Cou.Recordset
Exit Sub
Error_process:
MsgBox "查询记录出错:" & Err.Description & Err.Number, vbCritical + vbOKOnly, "错误"
End Sub
'''''''''''''''''''''''课程信息管理模块''''''''''''''''''''''''''''''''''''''''
'添加课程记录
Private Sub Button_CAdd_Click()
Dim cmdSQL As String
If Trim(Text_CNo.Text) = Empty Then
MsgBox "请输入课程号!", vbExclamation, "注意"
Text_CNo.SetFocus
Exit Sub
End If
If Trim(Text_CName.Text) = Empty Then
MsgBox "请输入课程名称!", vbExclamation, "注意"
Text_CName.SetFocus
Exit Sub
End If
If Trim(Text_CCredit.Text) = Empty Then
MsgBox "请输入课程学分!", vbExclamation, "注意"
Text_CCredit.SetFocus
Exit Sub
End If
If Trim(Text_CTeacher.Text) = Empty Then
MsgBox "请输入授课老师姓名!", vbExclamation, "注意"
Text_CTeacher.SetFocus
Exit Sub
End If
If Trim(Text_CHour.Text) = Empty Then
MsgBox "请输入学时!", vbExclamation, "注意"
Text_CHour.SetFocus
Exit Sub
End If
A = MsgBox("确认添加?", 256 + 4 + 32, "请确认")
If A = vbNo Then Exit Sub
On Error GoTo Error_process
Open_DB ("CouInfo")
cmdSQL = "INSERT INTO CouInfo ( Cno,CName,CCredit,CTeacher,CHour ) VALUES(" & Text_CNo.Text & ",'" & Text_CName.Text & "'," & Text_CCredit.Text & ",'" & Text_CTeacher.Text & "'," & Text_CHour.Text & ")"
Conn.Execute cmdSQL
Close_DB
Text_CNo.Text = ""
Text_CName.Text = ""
Text_CTeacher.Text = ""
Text_CCredit.Text = ""
Text_CHour.Text = ""
MsgBox "添加记录成功", vbOKOnly
Exit Sub
Error_process:
MsgBox "添加记录出错:" & Err.Description & Err.Number, vbCritical + vbOKOnly, "错误"
End Sub
'删除课程记录
Private Sub Button_CDelete_Click()
Dim cmdSQL As String
If Trim(Text_CNo.Text) = Empty Then
MsgBox "请输入要删除的课程号", vbOKOnly, "注意"
Text_CNo.SetFocus
Exit Sub
Else
A = MsgBox("确认删除?", 256 + 4 + 32, "请确认")
If A = vbNo Then Exit Sub
End If
On Error GoTo Error_process
cmdSQL = "DELETE FROM CouInfo WHERE Cno=" & Trim(Text_CNo.Text) & " "
Open_DB ("CouInfo")
Conn.Execute cmdSQL
Close_DB
MsgBox "删除记录成功", vbOKOnly
Exit Sub
Error_process:
MsgBox "删除记录出错:" & Err.Description & Err.Number, vbCritical + vbOKOnly, "错误"
End Sub
'修改课程记录
Private Sub Button_CModify_Click()
Dim cmdSQL As String
cmdSQL = "UPDATE CouInfo SET "
If Trim(Text_CNo.Text) = Empty Then
MsgBox "请输入要修改的课程号!", vbOKOnly
Text_CNo.SetFocus
Exit Sub
End If
If Trim(Text_CName.Text) <> Empty Then cmdSQL = cmdSQL + "CName='" & Text_CName.Text & "' "
If Trim(Text_CCredit.Text) <> Empty Then
If cmdSQL = "UPDATE CouInfo SET " Then
cmdSQL = cmdSQL + "CCredit=" & Text_CCredit.Text & " "
Else
cmdSQL = cmdSQL + ",CCredit=" & Text_CCredit.Text & " "
End If
End If
If Trim(Text_CTeacher.Text) <> Empty Then
If cmdSQL = "UPDATE CouInfo SET " Then
cmdSQL = cmdSQL + "CTeacher='" & Text_CTeacher.Text & "' "
Else
cmdSQL = cmdSQL + ",CTeacher='" & Text_CTeacher.Text & "' "
End If
End If
If Trim(Text_CHour.Text) <> Empty Then
If cmdSQL = "UPDATE CouInfo SET " Then
cmdSQL = cmdSQL + "CHour=" & Text_CHour.Text & " "
Else
cmdSQL = cmdSQL + ",CHour=" & Text_CHour.Text & " "
End If
End If
cmdSQL = cmdSQL + " Where Cno=" & Text_CNo.Text & " "
A = MsgBox("确认修改?", 256 + 4 + 32, "请确认")
If A = vbNo Then Exit Sub
On Error GoTo Error_process
Open_DB ("CouInfo")
Conn.Execute cmdSQL
Close_DB
MsgBox "修改记录成功", vbOKOnly
cmdSQL = "select Cno as 课程号,CName as 课程名称,CCredit as 学分,CTeacher as 授课教师,CHour as 学时 from CouInfo where Cno=" & Text_CNo.Text & " "
Adodc_CouInfo.RecordSource = cmdSQL
Adodc_CouInfo.Refresh
Set DataGrid1.DataSource = Adodc_CouInfo.Recordset
Exit Sub
Error_process:
MsgBox "修改记录出错:" & Err.Description & Err.Number, vbCritical + vbOKOnly, "错误"
End Sub
'查询课程记录
Private Sub Button_CSearch_Click()
cmdSQL = "select Cno as 课程号,CName as 课程名称,CCredit as 学分,CTeacher as 授课教师,CHour as 学时 from CouInfo "
If Trim(Text_CNo.Text) <> Empty Then cmdSQL = cmdSQL + "WHERE Cno=" & Text_CNo.Text & " "
If Trim(Text_CName.Text) <> Empty Then
If cmdSQL = "select Cno as 课程号,CName as 课程名称,CCredit as 学分,CTeacher as 授课教师,CHour as 学时 from CouInfo " Then
cmdSQL = cmdSQL + "WHERE CName='" & Text_CName.Text & "'"
Else
cmdSQL = cmdSQL + "AND CName='" & Text_CName.Text & "'"
End If
End If
If Trim(Text_CCredit.Text) <> Empty Then
If cmdSQL = "select Cno as 课程号,CName as 课程名称,CCredit as 学分,CTeacher as 授课教师,CHour as 学时 from CouInfo " Then
cmdSQL = cmdSQL + "WHERE CCredit= " & Text_CCredit.Text & " "
Else
cmdSQL = cmdSQL + " AND CCredit= " & Text_CCredit.Text & " "
End If
End If
If Trim(Text_CTeacher.Text) <> Empty Then
If cmdSQL = "select Cno as 课程号,CName as 课程名称,CCredit as 学分,CTeacher as 授课教师,CHour as 学时 from CouInfo " Then
cmdSQL = cmdSQL + "WHERE CTeacher='" & Text_CTeacher.Text & "'"
Else
cmdSQL = cmdSQL + "AND CTeacher='" & Text_CTeacher.Text & "'"
End If
End If
If Trim(Text_CHour.Text) <> Empty Then
If cmdSQL = "select Cno as 课程号,CName as 课程名称,CCredit as 学分,CTeacher as 授课教师,CHour as 学时 from CouInfo " Then
cmdSQL = cmdSQL + "WHERE CHour=" & Text_CHour.Text & ""
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -