数据库原理课程设计学分管理系统
·······目录········1题目要求··································32程序截图··································43程序代码·································104课程设计心得·····························26题目要求:设计一个学分管理系统。假设每位学生必须完成基础课50学分,专业课50学分,选修课24学分,人文类课程8学分和实验性课程20学分才能毕业。实现下列功能:1 录入某位学生的学分信息2 给定学号,显示某位学生的学分完成情况;3 给定班号,显示该班所有学生的学分完成情况;4 给定学号,修改该学生的学分信息;5 按照某类课程的学分高低进行排序;给定学号,对该学生能否毕业进行确定。登陆界面如下:主界面如下:进行插入操作:按班号显示操作:查询结果界面如下:进行按学号进行查询的界面:查询结果如下:排序界面:查询学生是否能够毕业:删除操作:代码如下:Module1:Public cn As New ADODB.ConnectionPublic rs As New ADODB.RecordsetForm1:Public rs As ADODB.RecordsetSub disp() Set DataGrid1.DataSource = rsFor i = 0 To rs.Fields.Count - 1 Text1(i).Text = rs.Fields(i).ValueNextEnd SubSub renew() rs.Close cn.Close Set rs = New ADODB.Recordset Set DataGrid1.DataSource = rs cn.Open "dsn=123;uid=sa;pwd=" rs.Open "select * from credit", cn, adOpenStatic, adLockOptimistic dispEnd SubPrivate Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)End SubPrivate Sub Command1_Click()For i = 0 To 7 Text1(i).Text = "" Next Text1(0).SetFocusText1(1).Enabled = TrueText1(2).Enabled = TrueCommand11.Enabled = TrueEnd SubPrivate Sub Command10_Click()rs.MovePreviousIf rs.BOF Then msg = MsgBox("已达到第一条", 48 + 0, "提示")rs.MoveFirst End Ifdisp End SubPrivate Sub Command11_Click()Text1(1).Enabled = TrueText1(2).Enabled = Trueinsert_str = "insert into credit values('" & Text1(0).Text & "','" & Text1(1).Text & "','" & Text1(2).Text & "','" & Text1(3).Text & "','" & Text1(4).Text & "','" & Text1(5).Text & "','" & Text1(6).Text & "','" & Text1(7).Text & "')"If Text1(0).Text <> rs.Fields(0) Thencn.Execute (insert_str) MsgBox "插入成功"ElseMsgBox "重复输入数据"End IfdisprenewEnd SubPrivate Sub Command12_Click()renewEnd SubPrivate Sub Command13_Click()update_str = "update credit set basic='" & Text1(3).Text & "',major='" & Text1(4).Text & "',soption='" & Text1(5).Text & "',speople='" & Text1(6).Text & "',sexperiment='" & Text1(7).Text & "' where sno='" & Text1(0).Text & "'"If Text1(0).Text <> rs.Fields(0) Thencn.Execute (update_str)ElseMsgBox "无此内容"End IfrenewEnd SubPrivate Sub Command14_Click()sno1 = InputBox("请输入要删除学生的学号:", "查询", 200, 100)delete_str = "delete from credit where sno=" & sno1If sno1 <> "" Then'If rs.RecordCount = 0 Then'MsgBox "输入学号不正确"'Elsecn.Execute (delete_str)disprenew'End IfElseMsgBox "error"End IfEnd SubPrivate Sub Command15_Click()frmLogin.ShowEnd SubPrivate Sub Command2_Click()Form2.ShowEnd SubPrivate Sub Command3_Click()Form3.ShowEnd SubPrivate Sub Command4_Click()Text1(0).SetFocusFor i = 0 To 7 Text1(i).Text = ""NextText1(1).Enabled = FalseText1(2).Enabled = False'dispEnd SubPrivate Sub Command5_Click()Form4.ShowEnd SubPrivate Sub Command6_Click()Dim a(4) As Integersno1 = InputBox("请输入学生的学号:", "查询", 200, 100)Set rs = New ADODB.Recordsetrs.Open "select * from credit where sno='" & sno1 & "'", cn, adOpenStatic, adLockOptimisticIf rs.RecordCount = 0 ThenMsgBox "输入学号不正确"Elsei = 0For j = 3 To rs.Fields.Count - 1 a(i) = Val(rs.Fields(j).Value) i = i + 1NextIf a(0) >= 50 And a(1) >= 50 And a(2) >= 24 And a(3) >= 8 And a(4) >= 20 Then MsgBox "该学生已修满学分,可以毕业"Else MsgBox "该学生由于未修满学分,不能毕业"End IfEnd IfEnd SubPrivate Sub Command7_Click()rs.MoveFirstdispEnd SubPrivate Sub Command8_Click()rs.MoveLastdispEnd SubPrivate Sub Command9_Click()rs.MoveNextIf rs.EOF Then msg = MsgBox("已达到最后一条", 48 + 0, "提示") rs.MoveLastEnd IfdispEnd SubPrivate Sub Form_Load()Set rs = New ADODB.Recordset'Set cn = New ADODB.Connectioncn.Open "dsn=123;uid=sa;pwd="rs.Open "select * from credit", cn, adOpenStatic, adLockOptimisticdispCommand11.Enabled = FalseForm1.Visible = FalseEnd SubForm2:Private Sub Command1_Click()Form1.ShowForm2.HideEnd SubPrivate Sub Form_Load()classno = InputBox("请输入学生的班号", "查询", 200, 100) 'rs.Close ' cn.Close'Set rs1 = New ADODB.RecordsetSet cn = New ADODB.ConnectionSet rs = New ADODB.Recordsetcn.Open "dsn=123;uid=sa;pwd="rs.Open "select * from credit where sclass='" & classno & "'", cn, adOpenStatic, adLockOptimisticIf rs.RecordCount > 0 ThenSet DataGrid2.DataSource = rsElseMsgBox "无此记录!"End IfEnd SubForm3:Private Sub Command1_Click()Form1.ShowForm3.HideEnd SubPrivate Sub Form_Load()sno = InputBox("请输入学生的学号", "查询", 200, 100)Set cn = New ADODB.ConnectionSet rs = New ADODB.Recordsetcn.Open "dsn=123;uid=sa;pwd="rs.Open "select * from credit where sno='" & sno & "'", cn, adOpenStatic, adLockOptimisticIf rs.RecordCount > 0 ThenSet DataGrid3.DataSource = rsElseMsgBox "无此记录!"End IfEnd SubForm4:Private Sub Command1_Click()Form1.ShowForm4.HideEnd SubPrivate Sub Option1_Click()subject = InputBox("请输入课程名:", "查询", 200, 100)Set cn = New ADODB.ConnectionSet rs = New ADODB.Recordsetcn.Open "dsn=123;uid=sa;pwd="If subject = "basic" Or subject = "major" Or subject = "soption" Or subject = "speople" Or subject = "sexperiment" Thenrs.Open "select * from credit order by " & subject, cn, adOpenStatic, adLockOptimisticSet DataGrid4.DataSource = rsElsemsg = MsgBox("error", 48 + 0, "提示")End IfEnd SubPrivate Sub Option2_Click()subject = InputBox("请输入课程名:", "查询", 200, 100)Set cn = New ADODB.ConnectionSet rs = New ADODB.Recordsetcn.Open "dsn=123;uid=sa;pwd="If subject = "basic" Or subject = "major" Or subject = "soption" Or subject = "speople" Or subject = "sexperiment" Thenrs.Open "select * from credit order by " & subject & " desc", cn, adOpenStatic, adLockOptimisticSet DataGrid4.DataSource = rsElsemsg = MsgBox("error", 48 + 0, "提示")End IfEnd SubFrmlogin:Dim rsuser As ADODB.RecordsetPublic cn1 As ADODB.Connection'Public LoginSucceeded As BooleanPrivate Sub cmdCancel_Click() '设置全局变量为 false '不提示失败的登录 LoginSucceeded = False EndEnd SubPrivate Sub cmdOK_Click() Dim query_str As StringSet rsuser = New ADODB.Recordsetuser_str = "select * from userinfo where userid='" & txtUserName & "' and password='" & txtPassword & "'"rsuser.Open user_str, cn1, adOpenStatic, adLockOptimistic If rsuser.RecordCount > 0 Then ' If rsuser.Fields("power") = "admin" Then ' Form1.Enabled = True ' Else ' Form1.Enabled = False ' End If ' LoginSucceeded = True Unload frmLogin MDIForm1.Show Form1.Show Else MsgBox "无效的用户或密码,请重试!", , "登录" txtPassword.SetFocus SendKeys "Home+End" End If ' cn.Close ' rsuser.Close End SubPrivate Sub Form_Load()' rsuser.Open "select * from userinfo", cn, adOpenStatic, adLockOptimistic Set cn1 = New ADODB.Connection cn1.Open "dsn=123;uid=sa;pwd="End Sub课程设计总结:没接触数据库的时候总是觉得它比较深奥或是不可接近的电脑知识,尽管自己对电脑非常感兴趣,其实还是有些心理上的陌生感。学习电脑就和我们平时的其它科目学习一样感觉它有永无止境的知识,在这从初接触电脑时连个电脑的键盘都不敢动到现在连硬盘都也修理,其中的过程是多么长啊,数据库是我在高中时候听过,到了大学渐渐了解了些,但就其原理性的内容还不知道,也就是根本就不清楚什么是数据库,只是知道一个所谓的中国字典里的名词。经过此次的课程设计,我初步明白了数据库的基本原理。也已经掌握了数据库的基本知识。我想对我以后的更深度学习打下了基础。这次课程设计让我知道了让vb连接sql 的方法。其实就是前台和后台的连接。有了这个思想,我相信对以后是大有裨益的。