排课管理系统.docx
- 文档编号:7543588
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:40
- 大小:129.55KB
排课管理系统.docx
《排课管理系统.docx》由会员分享,可在线阅读,更多相关《排课管理系统.docx(40页珍藏版)》请在冰豆网上搜索。
排课管理系统
毕业设计
<<排课管理系统>>
院系______
专业______
班级______
姓名______
日期年月日
摘要i
Abstractii
第一章引言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开发平台
本教师管理系统的开发平台为微软windowsxpvisualbasic6.0以及微软的Access作为操作数据库.
1.3.2数据库设计工具——ACCESS数据库管理系统
Microsoft Access介绍:
使用 Microsoft Access,可以在单一的数据库文件中管理所有的信息。
在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。
如果要保存数据,请为每一种类型的信息创建一个表。
如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。
如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。
查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。
如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。
在打开一个窗体时,Microsoft Access 将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。
如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。
例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。
第二章系统设计
2.1系统分析
本排课管理系统主要由以下几大模块构成.
一.教职员入库信息.
二.排课管理
三.教职员带课查询
四.本学期课程设置
五.打印课程表
六.打印教师代课表
2.2系统流程和操作方式设计
第三章系统界面设计
3.1系统界面设计
1.登陆界面
代码分析:
OptionExplicit
PublicLoginSucceededAsBoolean
PrivateSubcmdCancel_Click()
'settheglobalvartofalse
'todenoteafailedlogin
LoginSucceeded=False
UnloadfmStart
EndSub
PrivateSubcmdOK_Click()
'checkforcorrectpassword
IftxtPassword="password"Then
'placecodetoheretopassthe
'successtothecallingsub
'settingaglobalvaristheeasiest
LoginSucceeded=True
Me.Hide
fmStart.Show
Else
MsgBox"InvalidPassword,tryagain!
",,"Login"
txtPassword.SetFocus
SendKeys"{Home}+{End}"
EndIf
EndSub
PrivateSubForm_Load()
LoadfmStart
fmStart.Hide
EndSub
2.教职员入库信息界面:
代码分析:
DimconAsADODB.Connection
DimrsAsADODB.Recordset
DimqrsAsADODB.Recordset
DimslSqlAsString
Dimi,jAsInteger
DimstrBak
(2)AsString
DimsqlStrAsString
PrivateSubCommand1_Click(IndexAsInteger)
OnErrorGoToErr:
DimcnAsInteger
Forcn=0To2
Text1(cn).Text=""
Nextcn
Ifrs.RecordCount>0Then
SelectCaseIndex
Case0:
rs.MoveFirst
Case1:
rs.MovePrevious
Command1
(2).Enabled=True
Command1(3).Enabled=True
Case2:
rs.MoveNext
Command1(0).Enabled=True
Command1
(1).Enabled=True
Case3:
rs.MoveLast
EndSelect
displayInfo
EndIf
GoTook:
Err:
CalldataOver
ok:
EndSub
PrivateSubdataOver()
Ifrs.BOFThen
Command1(0).Enabled=False
Command1
(1).Enabled=False
Command1
(2).Enabled=True
Command1(3).Enabled=True
rs.MoveFirst
Else
Ifrs.EOFThen
rs.MoveLast
Command1(0).Enabled=True
Command1
(1).Enabled=True
Command1
(2).Enabled=False
Command1(3).Enabled=False
Else
MsgBox"DatabaseError",vbExclamation+vbOKOnly,"Errorunknown"
EndIf
EndIf
EndSub
PrivateSubCommand2_Click(IndexAsInteger)
OnErrorGoToerrDeal
IfIndex=0OrIndex=2Then
CanSave(True)
Else
CanSave(False)
EndIf
SelectCaseIndex
Case0:
rs.AddNew
CalltoNull
Case1:
j=MsgBox("你确定要删除本记录吗?
",vbYesNo+vbQuestion,"删除")
Ifj=vbYesThen
rs.Delete
CalltoNull
EndIf
Case2:
rs.Delete
rs.AddNew
Case3:
IfLen(LTrim$(RTrim$(Text1(0).Text)))>0Then
'rs.AddNew
Fori=0To2
IfLen(LTrim$(RTrim$(Text1(i).Text)))>0Then
rs.Fields(i)=Text1(i).Text
EndIf
Nexti
rs.Update
Else
MsgBox"姓名不得为空",vbOKOnly+vbExclamation,"Error"
EndIf
Case4:
Fori=0To2
Text1(i).Text=strBak(i)
Nexti
CallCommand2_Click(3)
EndSelect
ExitSub
errDeal:
MsgBox"databaseError",vbExclamation+vbOKOnly,"error"
'okEnd:
EndSub
PrivateSubCanSave(okAsBoolean)
Frame1.Enabled=Notok
Frame3.Enabled=ok
Fori=0To4
Ifi<3Then
Command2(i).Enabled=Notok
Else
Command2(i).Enabled=ok
EndIf
Nexti
EndSub
PrivateSubForm_Load()
DimcntAsInteger
Setcon=NewADODB.Connection
Setrs=NewADODB.Recordset
Setqrs=NewADODB.Recordset
'"Provider=Microsoft.Jet.OLEDB.3.51;PersistSecurityInfo=False;DataSource=C:
\WINDOWS\Desktop\dataUse.mdb"
con.Open"provider=Microsoft.Jet.OLEDB.4.0;datasource="&App.Path&"\dataUse.mdb"
rs.Open"select*fromteacher",con,adOpenStatic,adLockOptimistic
Ifrs.RecordCount>0Then
rs.MoveFirst
displayInfo
CanSave(False)
Else
'newdata
CanSave(True)
CallCommand2_Click(0)
EndIf
EndSub
PrivateSubdisplayInfo()
i=j=0
Fori=0To2
'Text1(i).Text=""
IfLen(rs.Fields(i))>0Then
Text1(i).Text=rs.Fields(i)
strBak(i)=Text1(i).Text
EndIf
Nexti
EndSub
PrivateSubtoNull()
Fori=0To2
Text1(i).Text=""
strBak(i)=""
Nexti
EndSub
PrivateSubForm_Unload(CancelAsInteger)
OnErrorGoToKK
rs.Close
Setrs=Nothing
qrs.Close
Setqrs=noting
con.Close
Setcon=Nothing
KK:
EndSub
PrivateSubqueryComm_Click()
slSql="select*fromTeacherwherecTrname='"+Text1(3).Text+"'"
qrs.OpenslSql,con,adOpenStatic
IfNotqrs.EOFThen
qrs.MoveFirst
i=j=0
Fori=0To2
'Text1(i).Text=""
IfLen(qrs.Fields(i))>0Then
Text1(i).Text=qrs.Fields(i)
strBak(i)=Text1(i).Text
EndIf
Nexti
EndIf
qrs.Close
EndSub
3.排课管理界面
代码分析:
OptionExplicit
DimconnAsADODB.Connection
DimrsTrAsADODB.Recordset
DimrsSjAsADODB.Recordset
Dimi,j,sjCntAsInteger
DimClassCodeAsString
DimTrChanged,ClassChangedAsBoolean
DimstrSqlAsString
DimrsTrAryAsADODB.Recordset
DimrsClassAryAsADODB.Recordset
DimStrTr(9)AsString
DimstrSj(49)AsString
Dimminht,maxHtAsInteger
PrivateSubEnableSave(okAsBoolean)
DimkAsInteger
Fork=0To3
Ifk<2Then
cb(k).Enabled=Notok
Else
cb(k).Enabled=ok
EndIf
Nextk
Frame7.Enabled=Notok
Frame2.Enabled=ok
Frame3.Enabled=ok
EndSub
PrivateSubcb_Click(IndexAsInteger)
Me.MousePointer=11
OnErrorGoToerrDeal
SelectCaseIndex
Case0:
ClassCode=Trim(Combo1(0).Text)&"."&Trim(Combo1
(1).Text)
IfLen(Trim(Combo1(0).Text))>0AndLen(ClassCode)>1Then
CalldisplayInfo
cb
(1).Enabled=True
EndIf
Case1:
cb_Click(0)
EnableSave(True)
cb
(1).Enabled=False
Case2:
IfTrChangedThen
strSql="delete*fromtrclasswherecclasscode='"&ClassCode&"'"
conn.ExecutestrSql
DimstrTrNameAsString
Fori=0TosjCnt-1
strTrName=Trim(Combo2(i).Text)
IfLen(strTrName)>0Then
strSql="insertintotrclassvalues('"&ClassCode&"',"+"'"+Trim(Label2(i).Caption)+"',"+"'"+Trim(Combo2(i).Text)+"')"
'me.caption=strSql
conn.ExecutestrSql
EndIf
Nexti
TrChanged=False
rsTrAry.Requery
cb
(1).Enabled=False
EndIf
IfClassChangedThen
conn.Execute"delete*fromclassarraywherecclasscode='"&ClassCode&"'"
DimX,YAsInteger
Fori=0To49
Y=iMod5+1
X=Int(i/5)+1
IfLen(Trim(Combo3(i).Text))>0Then
strSql="insertintoclassarrayvalues('"&ClassCode&"',"&Y&","&X&",'"&Trim(Combo3(i).Text)&"')"
'me.caption=strSql
conn.ExecutestrSql
EndIf
Nexti
ClassChanged=False
rsClassAry.Requery
EndIf
EnableSave(False)
Case3:
Fori=0TosjCnt-1
Combo2(i).Text=Combo2(i).Tag
Nexti
Fori=0To49
Combo3(i).Text=Combo3(i).Tag
Nexti
EnableSave(False)
cb
(1).Enabled=False
EndSelect
GoTook
errDeal:
MsgBox"ErrorUnknown"
ok:
Me.MousePointer=0
EndSub
PrivateSubdisplayInfo()
Forj=0TosjCnt-1
strSql="selectcteacherfromtrclasswherecclasscode='"&ClassCode&"'andcsubject='"&Trim(Label2(j).Caption)&"'"
'Text1.Text=strSql
'me.caption=strSql
SetrsTrAry=conn.Execute(strSql)
'DimtpRsAsADODB.Recordset
'SettpRs=conn.Execute("selectcteacherfromtrclasswherecclasscode='"&ClassCode&"'andcsubject='"&Trim(Label2(j).Caption)&"'")
'Text1.Text="####"&strSql&"####"
'WhileNottpRs.EOF
'Text1.Text=Text1.Text+tpRs.Fields(0)
'tpRs.MoveNext
'Wend
'这里用另一种方法创建recordset
'rsTrAry.
IfNotrsTrAry.EOFThen
'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)
'''''''''''''''''''''''''''这里语句可能出错
EndIf
Nextj
Fori=0To49
DimX,YAsInteger
X=Int(i/5+1)
Y=iMod5+1
strSql="selectcsjnamefromclassarraywherecclasscode='"&ClassCode&"'anditimew="&Y&"anditimen="&X
'me.caption=strSql
'rsClassAry.OpenstrSql,conn,adOpenStatic,adLockOptimistic
SetrsClassAry=conn.Execute(strSql)
IfNotrsClassAry.EOFThen
Combo3(i).Text=rsClassAry.Fields(0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 管理 系统