排课管理系统.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 管理 系统
- 资源描述:
-
毕业设计 <〈排课管理系统〉〉 院系______ 专业______ 班级______ 姓名______ 日期 年 月 日 目 录 摘 要 I ABSTRACT II 第一章 引言 1 1。1 背景 1 1。1.1教师管理系统 1 1.2开发教师管理系统的目的和原则 3 1.3开发环境介绍 3 1。3.1 开发平台 4 1.3。2数据库设计工具-—ACCESS数据库管理系统 7 第二章 系统设计 9 2。1 系统分析 9 2.2 系统流程和操作方式设计 11 第三章 系统界面设计 12 3。1系统界面设计以及代码分析 12 第四章 数据库的设计 30 4.1数据库设计 30 4.2 数据库概念和发展 30 4.3系统测试与评价 38 总 结 39 致 谢 40 参考文献 41 摘要 20世纪以来,社会生产力迅速发展,科学技术突飞猛进,人们进行信息交流的深度与广度不断增加,信息量急剧增长,传统的信息处理与决策的手段已不能适应社会的需要,信息的重要性和信息处理问题的紧迫性空前提高了,面对着日益复杂和不断发展,变化的社会环境,特别是企业间日趋剧烈的竞争形势,一个人、一个企业要在现代社会中求生存,求发展,必须具备足够的信息和强有力的信息收集与处理手段。 对于一个学校来说,大量教师课程安排难于通过传统的方法进行管理;这就迫切需要利用计算机技术来帮助学校管理者来处理教师课程安排的日常管理,合理安排课程,防止课程冲突.排课管理系统可以很好的解决以上问题。排课管理系统是管理信息系统的一个典型用例. 管理信息系统是一个集信息技术、经济管理理论、统计学与运筹学、数据库技术为一体的综合性系统,是一个资金技术密集型、劳动密集型、智力密集型的项目。我国拥有广阔的市场和丰富的人才资源,有几十年的技术积累和经验积累,有一定的后发优势。管理信息系统的创新工作既不能妄自菲薄,更不能夜郎自大。要抓住当前网络经济兴起的有利时机,以实现我国信息技术和信息产业的跨越式发展,更好地发挥信息产业对国民经济增长的拉动作用。 开发学校排课管理系统的过程就是要实现数据处理方式由人工管理向计算机管理的转变,它在计算机技术和教师管理实践活动两者之间架设桥梁。 关键字:排课管理,管理信息系统,数据库,计算机管理 第一章 引言 对于一个学校来说,大量教师课程安排难于通过传统的方法进行管理;这就迫切需要利用计算机技术来帮助学校管理者来处理教师课程安排的日常管理,合理安排课程,防止课程冲突.排课管理系统可以很好的解决以上问题.排课管理系统是管理信息系统的一个典型用例。 1。1背景 1。1。1排课管理系统 如今随着教育事业的发展,学校对教师课程安排的复杂度的增加,一个单位,各个学科每天的课程安排以及教室资源的分配,排课工资等信息量将迅速的增加,传统的手工的处理方式已经跟不上信息爆炸般的扩增。所以开发一种可靠,高效的教师排课管理系统是很有必要的。 1。2 开发排课管理系统的目的与原则 排课管理系统的主要目的是服务与中小学,各高校的管理者,方便其管理本校排课信息的软件系统。其原则是做到,界面友好人性,操作简单,可靠。 1。3开发环境介绍 1.3。1开发平台 本教师管理系统的开发平台为微软windows xp visual basic 6。0 以及微软的Access作为操作数据库。 1.3.2 数据库设计工具——ACCESS数据库管理系统 Microsoft Access介绍: 使用 Microsoft Access,可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据. 如果要保存数据,请为每一种类型的信息创建一个表。如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。 如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。 如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。在打开一个窗体时,Microsoft Access 将从一个或多个表中检索数据,并使用用户在“窗体向导"选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。 如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。 第二章 系统设计 2.1系统分析 本排课管理系统主要由以下几大模块构成. 一. 教职员入库信息. 二. 排课管理 三. 教职员带课查询 四. 本学期课程设置 五. 打印课程表 六. 打印教师代课表 2.2 系统流程和操作方式设计 系统登陆 主界面 教职员工入库信息 排课管理 教职员工带课查询 本学期课程安排 打印课程表 打印教师带课表 第三章 系统界面设计 3。1系统界面设计 1。登陆界面 代码分析: Option Explicit Public LoginSucceeded As Boolean Private Sub cmdCancel_Click() ’set the global var to false ’to denote a failed login LoginSucceeded = False Unload fmStart End Sub Private Sub cmdOK_Click() 'check for correct password If txtPassword = ”password" Then ’place code to here to pass the 'success to the calling sub ’setting a global var is the easiest LoginSucceeded = True Me。Hide fmStart。Show Else MsgBox ”Invalid Password, try again!”, , ”Login” txtPassword.SetFocus SendKeys ”{Home}+{End}" End If End Sub Private Sub Form_Load() Load fmStart fmStart。Hide End Sub 2。教职员入库信息界面: 代码分析: Dim con As ADODB.Connection Dim rs As ADODB。Recordset Dim qrs As ADODB.Recordset Dim slSql As String Dim i, j As Integer Dim strBak(2) As String Dim sqlStr As String Private Sub Command1_Click(Index As Integer) On Error GoTo Err: Dim cn As Integer For cn = 0 To 2 Text1(cn)。Text = ”” Next cn If rs。RecordCount > 0 Then Select Case Index Case 0: rs。MoveFirst Case 1: rs。MovePrevious Command1(2)。Enabled = True Command1(3).Enabled = True Case 2: rs。MoveNext Command1(0).Enabled = True Command1(1)。Enabled = True Case 3: rs。MoveLast End Select displayInfo End If GoTo ok: Err: Call dataOver ok: End Sub Private Sub dataOver() If rs。BOF Then Command1(0).Enabled = False Command1(1)。Enabled = False Command1(2)。Enabled = True Command1(3).Enabled = True rs.MoveFirst Else If rs.EOF Then rs。MoveLast Command1(0).Enabled = True Command1(1)。Enabled = True Command1(2)。Enabled = False Command1(3).Enabled = False Else MsgBox ”Database Error”, vbExclamation + vbOKOnly, "Error unknown” End If End If End Sub Private Sub Command2_Click(Index As Integer) On Error GoTo errDeal If Index = 0 Or Index = 2 Then CanSave (True) Else CanSave (False) End If Select Case Index Case 0: rs。AddNew Call toNull Case 1: j = MsgBox(”你确定要删除本记录吗?”, vbYesNo + vbQuestion, ”删除”) If j = vbYes Then rs。Delete Call toNull End If Case 2: rs。Delete rs。AddNew Case 3: If Len(LTrim$(RTrim$(Text1(0)。Text))) > 0 Then ’rs.AddNew For i = 0 To 2 If Len(LTrim$(RTrim$(Text1(i)。Text))) 〉 0 Then rs。Fields(i) = Text1(i).Text End If Next i rs。Update Else MsgBox ”姓名不得为空", vbOKOnly + vbExclamation, ”Error” End If Case 4: For i = 0 To 2 Text1(i)。Text = strBak(i) Next i Call Command2_Click(3) End Select Exit Sub errDeal: MsgBox "database Error”, vbExclamation + vbOKOnly, ”error” ’okEnd: End Sub Private Sub CanSave(ok As Boolean) Frame1。Enabled = Not ok Frame3。Enabled = ok For i = 0 To 4 If i 〈 3 Then Command2(i)。Enabled = Not ok Else Command2(i)。Enabled = ok End If Next i End Sub Private Sub Form_Load() Dim cnt As Integer Set con = New ADODB。Connection Set rs = New ADODB。Recordset Set qrs = New ADODB。Recordset '"Provider=Microsoft.Jet.OLEDB。3.51;Persist Security Info=False;Data Source=C:\WINDOWS\Desktop\dataUse。mdb” con。Open ”provider=Microsoft.Jet.OLEDB。4。0; data source= ” & App.Path & ”\dataUse。mdb” rs。Open "select * from teacher”, con, adOpenStatic, adLockOptimistic If rs。RecordCount 〉 0 Then rs。MoveFirst displayInfo CanSave (False) Else ’new data CanSave (True) Call Command2_Click(0) End If End Sub Private Sub displayInfo() i = j = 0 For i = 0 To 2 ’Text1(i).Text = ”” If Len(rs。Fields(i)) > 0 Then Text1(i)。Text = rs.Fields(i) strBak(i) = Text1(i)。Text End If Next i End Sub Private Sub toNull() For i = 0 To 2 Text1(i)。Text = ”” strBak(i) = ”" Next i End Sub Private Sub Form_Unload(Cancel As Integer) On Error GoTo KK rs.Close Set rs = Nothing qrs.Close Set qrs = noting con.Close Set con = Nothing KK: End Sub Private Sub queryComm_Click() slSql = ”select * from Teacher where cTrname = ’” + Text1(3).Text + ”’" qrs.Open slSql, con, adOpenStatic If Not qrs。EOF Then qrs.MoveFirst i = j = 0 For i = 0 To 2 'Text1(i)。Text = "" If Len(qrs。Fields(i)) 〉 0 Then Text1(i).Text = qrs。Fields(i) strBak(i) = Text1(i)。Text End If Next i End If qrs.Close End Sub 3。 排课管理界面 代码分析: Option Explicit Dim conn As ADODB。Connection Dim rsTr As ADODB。Recordset Dim rsSj As ADODB。Recordset Dim i, j, sjCnt As Integer Dim ClassCode As String Dim TrChanged, ClassChanged As Boolean Dim strSql As String Dim rsTrAry As ADODB。Recordset Dim rsClassAry As ADODB.Recordset Dim StrTr(9) As String Dim strSj(49) As String Dim minht, maxHt As Integer Private Sub EnableSave(ok As Boolean) Dim k As Integer For k = 0 To 3 If k 〈 2 Then cb(k)。Enabled = Not ok Else cb(k).Enabled = ok End If Next k Frame7.Enabled = Not ok Frame2。Enabled = ok Frame3。Enabled = ok End Sub Private Sub cb_Click(Index As Integer) Me。MousePointer = 11 On Error GoTo errDeal Select Case Index Case 0: ClassCode = Trim(Combo1(0).Text) & ”.” & Trim(Combo1(1)。Text) If Len(Trim(Combo1(0)。Text)) 〉 0 And Len(ClassCode) 〉 1 Then Call displayInfo cb(1)。Enabled = True End If Case 1: cb_Click (0) EnableSave (True) cb(1).Enabled = False Case 2: If TrChanged Then strSql = "delete * from trclass where cclasscode='" & ClassCode & ”’” conn。Execute strSql Dim strTrName As String For i = 0 To sjCnt — 1 strTrName = Trim(Combo2(i).Text) If Len(strTrName) 〉 0 Then strSql = ”insert into trclass values(’” & ClassCode & ”’ ,” + "’" + Trim(Label2(i).Caption) + ”’ ,” + "’” + Trim(Combo2(i)。Text) + "’ )” 'me。caption = strSql conn。Execute strSql End If Next i TrChanged = False rsTrAry。Requery cb(1).Enabled = False End If If ClassChanged Then conn.Execute "delete * from classarray where cclasscode='" & ClassCode & ”’" Dim X, Y As Integer For i = 0 To 49 Y = i Mod 5 + 1 X = Int(i / 5) + 1 If Len(Trim(Combo3(i).Text)) 〉 0 Then strSql = "insert into classarray values(’” & ClassCode & ”' ,” & Y & ",” & X & ”, ’” & Trim(Combo3(i)。Text) & "’)” 'me。caption = strSql conn。Execute strSql End If Next i ClassChanged = False rsClassAry。Requery End If EnableSave (False) Case 3: For i = 0 To sjCnt - 1 Combo2(i)。Text = Combo2(i)。Tag Next i For i = 0 To 49 Combo3(i)。Text = Combo3(i).Tag Next i EnableSave (False) cb(1)。Enabled = False End Select GoTo ok errDeal: MsgBox ”Error Unknown” ok: Me。MousePointer = 0 End Sub Private Sub displayInfo() For j = 0 To sjCnt — 1 strSql = "select cteacher from trclass where cclasscode=’” & ClassCode & ”’ and csubject='” & Trim(Label2(j)。Caption) & ”'” ’Text1.Text = strSql ’me。caption = strSql Set rsTrAry = conn.Execute(strSql) 'Dim tpRs As ADODB。Recordset 'Set tpRs = conn.Execute(”select cteacher from trclass where cclasscode=’" & ClassCode & ”' and csubject='” & Trim(Label2(j).Caption) & ”’”) 'Text1.Text = ”####" & strSql & "####” ’While Not tpRs。EOF ' Text1。Text = Text1.Text + tpRs.Fields(0) ' tpRs.MoveNext ’Wend '这里用另一种方法创建 recordset 'rsTrAry. If Not rsTrAry.EOF Then ’rsTrAry.MoveFirst Combo2(j).Text = rsTrAry.Fields(0) ’rsTrAry!cteacher Combo2(j)。Tag = rsTrAry.Fields(0) ’ rsTrAry!cteacher 'EnableSave (False) Else ’ MsgBox ”nodata", vbOKOnly Combo2(j)。Text = ”” Combo2(j)。Tag = ”” ’EnableSave (True) '’’’'’’'’'’''’'’’''’’’’’’'’这里语句可能出错 End If Next j For i = 0 To 49 Dim X, Y As Integer X = Int(i / 5 + 1) Y = i Mod 5 + 1 strSql = ”select csjname from classarray where cclasscode='" & ClassCode & ”’ and itimew=” & Y & ” and itimen=” & X ’me。caption = strSql ' rsClassAry.Open strSql, conn, adOpenStatic, adLockOptimistic Set rsClassAry = conn。Execute(strSql) If Not rsClassAry.EOF Then Combo3(i).Text = rsClassAry.Fields(0) Combo3(i).Tag = rsClassAry。Fields(0) ’EnableSave (False) Else Combo3(i).Text = ”" Combo3(i)。Tag = ”” 'EnableSave (True) End If Next i End Sub Private Function Trim(str As String) As String Trim = LTrim$(RTrim$(str)) End Function Private Sub Combo2_Change(Index As Integer) TrChanged = True End Sub Private Sub Combo3_Change(Index As Integer) ClassChanged = True End Sub Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Form_Load() Me。MousePointer = 11 Set conn = New ADODB。Connection Set rsTr = New ADODB。Recordset Set rsSj = New ADODB。Recordset Set rsTrAry = New ADODB.Recordset Set rsClassAry = New ADODB.Recordset '"Provider=Microsoft.Jet.OLEDB。3。51;Persist Security Info=False;Data Source=C:\WINDOWS\Desktop\dataUse.mdb” conn.Open "provider=Microsoft.Jet.OLEDB.4.0; data source= ” & App。Path & ”\dataUse。mdb” rsTr。Open ”select * from teacher", conn, adOpenStatic, adLockOptimistic rsSj.Open "select * from subject", conn, adOpenStatic, adLockOptimistic minht = 4090 maxHt = 9000 sjCnt = rsSj.RecordCount Call comboInit EnableSave (False) cb(1).Enabled = False ’Command1。Tag = ”<〈" Me。Height = minht Me。MousePointer = 0 End Sub Private Sub comboInit() rsSj。MoveFirst Dim trCnt As Integer trCnt = rsTr。RecordCount rsTr。MoveFirst Combo1(0).Text = ”” Combo1(1)。Text = "" For i = 1 To 12 Combo1(0).AddItem (i) Next i For i = 1 To 20 Combo1(1)。AddItem (i) Next i For i = 0 To 9 Combo2(i)。Text = "" If i 〈 sjCnt Then Label2(i).Caption = rsSj!csjname rsSj。MoveNext Else Label2(i).Visible = False Combo2(i).Visible = False End If Label3(i)。Caption = i + 1 Next i For i = 0 To sjCnt — 1 If i > 0 Then For j = 0 To trCnt — 1 'the last modified here.。。。。。。。..。。..。..。。. Combo2(i)。List(j) = Combo2(0)。List(j) Next j Else rsTr.MoveFirst While Not rsTr.EOF Combo2(i)。AddItem (rsTr。Fields(0)) rsTr。MoveNext Wend End If Next i For i = 0 To 49 Combo3(i).Text = "" For j = 0 To sjCnt — 1 Combo3(i)。AddItem (Label2(j)。Caption) Next j Next i End Sub Private Sub Form_Resize() Frame3。Top = Me。Height — Frame3.Height — 520 End Sub Private Sub Form_Unload(Cancel As Integer) On Error GoTo Err: rsTr。Close rsSj。Close rsTrAry。Close rsClassAry.Close Set rsTr = Nothing Set rsSj = Nothing Set rsTrAry = Nothing Set rsClassAry = Nothing conn.Close Set conn = Nothing Err: End Sub Private Sub Timer1_Timer() If Command1。Caption = ”〉〉” Then If Me.Height 〈 maxHt Then Me.Height = Me.Height + 150 Else Timer1。Enabled = False Command1.Caption = "〈〈” Command1。ToolTipText = ”收起课程表!” Me.Height = maxHt Timer2。Enabled = False Command1。BackColor = RGB(255, 255, 255) Shape2.BackColor = RGB(0, 100, 200) End If Else If Me。Height 〉 minht Then Me。Height = Me。Height — 150 Else Timer1。Enabled = False Command1.Caption = ”>>" Command1。ToolTipText = "课程表在这里!" Me。Height = minht Timer2。Enabled = True End If End If End Sub Private Sub Timer2_Timer() Static r, g, b As Integer ’r = 100 ’g = 50 'b = 20 Command1.BackColor = RGB(r, g, b) Shape2。BackColor = RGB(255 - r, 255 — g, 255 — b) r = r + 15 g = g + 39 b = b + 87 If r 〉 255 Then r = 0 End If If g 〉 255 Then g = 0 End If If b > 255 Then b = 0 End If End Sub 4。 教职员带课查询 界面设计: 代码分析: Option Explicit Dim conn As ADODB.Connection Dim rs As ADODB。Recordset Dim rsTr As ADODB。Recordset Dim i, j, value, idx As Integer Dim strName, strSql As String Private Type DataGet class As String Sjname As String Tw As Integer Tn As Integer End Type Private Sub Command1_Click() On Error GoTo bnEnd Me。MousePointer = 11 Dim sSql展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




排课管理系统.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4046886.html