版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、经济管理学院本科课程设计论文数据库开发与应用课程设计学号: 0805170236 姓名:班级:专业:信息管理与信息系统系别: 指导教师:2010 年 12 月 24 日吉 林学生信息管理系统设计论文一、主要功能:1学籍信息管理2班级信息管理3课程信息管理4成绩信息管理5系统管理二、学校学生管理信息系统的简介学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(management information system ) 。它是一个教育单位不可缺少的部分 ,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。能有效
2、的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。功能基本符合根据张波尔老师的要求。学生用户通过输入学生基本信息、课程基本信息等 ,由系统自行生成相应的数据以供学生查询 ,另外人事处的管理用户还可以对这些基本信息进行更新和删除, 学校学生管理信息系统力求给用户方便快捷的途径去管理这些繁琐的数据。具体系统功能需求描述如下:(1) 学籍信息管理每年的大量新生入学,老生毕业都需要处理大量的学生信息。 通过这一模块,可以实现学生基本情况的添加、删除、更新。还能查询各个学生的情况,姓名、家庭电话、家庭住址、学号等各个消息(2) 班级信息管理实现班级的添加、删除、更新。查询班级的所在系别,辅
3、导员等。(3)课程信息管理每个学期都会增加一些新的科目,选择,并对值的输入, 可以看到数据集中显示符合条件的课程数据信息,而且可以根据教工的修改要求进行数据的添加、删除、修改的操作。该项管理对课程的属性进行了具体化的分类,比如可以分辨是考试科还是考察课,而且根据条件的选择大大得提高了对各学期课程数据的记录操作,很大得帮助了教工们工作效率的提高。(4)成绩信息管理本模块实现了成绩的输入、 删除、更新。还能查询到平均成绩以及单科最高最低成绩以及个人成绩。 把成绩统计这个繁琐的工作简单化,为学生成绩的管理方面提高工作效率。(5)系统管理因为本系统是供多人一起使用的,必须对某一些人进行限制。 于是设置
4、了管理员,非管理员只能进行查询操作,不能进行更改。 通过本模块可以轻松的添加以及更新课程。可以根据学期条件或者班级条件的选择,也可根据课程名、课程号或者班级的三、学校学生管理信息系统的分析和设计(1)开发环境的简介设计平台:delphi6.0 delphi 是一个对象导向设计的应用程序语言,是开发数据库前端的优秀工具,它的编程语言简洁明快、组件功能强大和编程环境灵活方便。采用delphi来开发数据库应用程序具有更大的灵活性和可扩展性。数据库:microsoft access access 是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。 access 的优点在于它能使用数据表示
5、图或自定义窗体收集信息。数据表示图提供了一种类似于excel 的电子表格,可以使数据库一目了然。另外,access 允许创建自定义报表用于打印或输出数据库中的信息。access 也提供了数据存储库, 可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。access 是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。access 多用于中小型企业来设计中小型数据库,一般的学校教务系统的数据库用access 来设计完全能达到要求。由于考虑到本系统是应用在单机系统上,只建立起一个数据库。数据库访问方式: ado ado (active data objects
6、)实际是一种提供访问各种数据类型的连接机制。ado 设计为一种极简单的格式,通过odbc 的方法同数据库接口。可以使用任何一种 odbc 数据源,即不止适合于sql server、oracle 、access 等数据库应用程序,也适合于 excel 表格、文本文件、图形文件和无格式的数据文件。 ado是基于 ole-db 之上的技术,因此ado 通过其内部的属性和方法提供统一的数据访问接口方法。 其主要优点是易于使用、 高速度、低内存支出和占用磁盘空间较少。(2)学校学生管理信息系统数据库设计由于考虑到本系统是应用在单机系统上,另外根据学校人员规模,我只建立起一个数据库,在此数据库基础上建立起
7、如下八个基本表:学生:学号,姓名,出生年月,性别,籍贯,联系地址,联系电话,班级班级:系名,班级,主要教室,辅导员,班长系表:系名,系办公室,联系电话课程表:课程号,课程号,班级,类别,学时,学名平均成绩表:班级,学号,姓名,平均成绩单科成绩表:学号,姓名,课程表,课程名,成绩选课表:班级,课程号,学期用户名:用户,密码(3)窗体设计:班级管理( banjigl.dfm)班级查询( banjicx.dfm)学籍管理( xuejigl.dfm)学籍查询( xuejicha.dfm)课程管理( kechenggl.dfm)课程查询( kechengcha.dfm )成绩管理( chengjigl.
8、dfm)成绩查询( chengjicha.dfm)(4)系统流程图及所用表格:图 3-1 总体系统图框架学生信息管理系统学籍管理班级管理成绩管理课程管理系统管理学籍查询学籍更新班级查询班级更新成绩查询成绩更新课程查询课程更新图 3-2 查询的试图图 3-3 更新的条件及记录的变化查询条件搜索学籍视图搜索班级视图搜索课程视图搜索成绩视图输出显示更新条件学 生 信 息 的 更新,删除,添加课程的变化,删除,添加班 级 信 息 的 更新,人数变化等成绩计算, 输录,更改系 统 信 息 的 更新,删除,添加学籍记录班级记录课程记录成绩记录系统记录人数变化课程变化图 3-4 数据库概念框图系1:n 班级
9、系名。 。 。 。 。班级名所属系别。 。 。 。1:n 学籍记录学号姓名籍贯。 。 。 。 。 。 。1:n 平均成绩记录学号姓名成绩。 。 。 。 。 。 。n:n 课程信息课程号课程名班级。 。 。 。 。 。n:1 n:1 单科成绩学号课程名成绩。 。 。 。 。 。 。 。表 3-1 学生基本情况表:字段名数据类型是否可空说明班级文本否外关键字学号文本否主关键字姓名文本否无性别文本否无出生年月日期否无籍贯文本否无联系电话文本是无联系地址文本是无表 3-2 班级情况表:系名文本否外关键字班级文本否关键字主要教室文本是无辅导员文本是无系名文本否外关键字班级文本否关键字表 3-3 系表:系
10、名文本否关键字系办公室文本是无联系电话文本是无表 3-4 课程表:课程号文本否关键字课程名文本否无班级文本是外关键字类别文本是无表 3-5 平均成绩表:班级文本否外关键字学号文本否关键字姓名文本是无平均成绩长整型是无表 3-5 单科成绩表:学号文本否关键字姓名文本否无课程号文本否外关键字课程名文本否无成绩长整型是无表 3-6 班级选课表:班级文本否组合关键字课程号文本否组合关键字课程名文本是无学期文本否组合关键字(5)课程管理部分的代码:选课管理:begin combobox1.items.append(adoquery1.fieldvalues 系名 ); /combobox1 连到系表的
11、系名 字段adoquery1.next; end; end; procedure tform11.combobox1select(sender: tobject); begin adoquery2.close; adoquery2.sql.clear; adoquery2.sql.add(select * from class where 系名=+combobox1.text+);/查询系名是否符合adoquery2.execsql; adoquery2.open; while not adoquery2.eof do begin combobox2.items.append(adoquery
12、2.fieldvalues 班级);/ 符合就调用班级表的字段班级adoquery2.next; end; end; procedure tform11.combobox2select(sender: tobject); begin adoquery4.close; adoquery4.sql.clear; adoquery4.sql.add(select * from kecheng where 班级=+combobox2.text+);/查询课程表中字段班级 是否符合,符合就调到adoquery4.execsql; /dbgiid1 adoquery4.open; end; procedu
13、re tform11.combobox3select(sender: tobject); begin adoquery4.close; adoquery4.sql.clear; adoquery4.sql.add(select * from kecheng where 班级=+combobox2.text+ and 学期=+combobox3.text+); /判断学期是否符合adoquery4.execsql; adoquery4.open; end; procedure tform11.speedbutton1click(sender: tobject); begin while not
14、adoquery4.eof do begin if (adoquery4.fieldvalues课 程 号 =adoquery3.fieldvalues 课 程 号 ) and (adoquery4.fieldvalues 班级=combobox2.text) and (adoquery4.fieldvalues学期=combobox3.text) then break; adoquery4.next; end; if adoquery4.eof then begin adoquery4.insert; /把选课内容添加到选课表中。adoquery4.fieldvalues 课程号 :=ado
15、query3.fieldvalues课程号 ; adoquery4.fieldvalues 班级:=combobox2.text; adoquery4.fieldvalues 课程名 :=adoquery3.fieldvalues课程名 ; adoquery4.fieldvalues 学期:=combobox3.text; adoquery4.post; end else begin showmessage( 本课程此班级已经选过); /如果已经选过,弹出对话框“本课程此班级已经选过”end; end; procedure tform11.speedbutton2click(sender: t
16、object); begin if not adoquery4.eof then adoquery4.delete; end; end. 课程管理 : procedure tform9.formcreate(sender: tobject); begin adoquery3.close; /关闭数据库adoquery3.sql.clear; /清空adoquery3.sql.add(select * from kechengbiao); adoquery3.execsql; adoquery3.open; dbedit1.datafield:=课程号 ; dbedit2.datafield:=
17、课程名 ; dbedit3.datafield:=课时 ; dbedit4.datafield:=学分 ; /dbcombobox1.datafield:=学期; dbcombobox2.datafield:=类型; end; procedure tform9.speedbutton1click(sender: tobject); begin if speedbutton1.caption=添加 then begin adoquery3.insert; /添加到课程表speedbutton1.caption:= 确定; speedbutton4.enabled:=true; speedbutt
18、on2.enabled:=false; speedbutton3.enabled:=false; end else if speedbutton1.caption=确定 then begin if dbedit1.text= then begin showmessage( 请输入课程号! ); /如果课程号没输入 ,弹出对话框end else begin adoquery3.post; speedbutton1.caption:= 添加; speedbutton4.enabled:=false; speedbutton2.enabled:=true; speedbutton3.enabled:
19、=true; end; end; end; procedure tform9.speedbutton2click(sender: tobject); begin if adoquery3.eof then begin speedbutton2.enabled:=false; speedbutton3.enabled:=false; end; if speedbutton2.caption=删除 then begin speedbutton2.caption:= 确定; speedbutton4.enabled:=true; speedbutton1.enabled:=false; speedb
20、utton3.enabled:=false; end else begin adoquery3.delete; /从数据表中删掉所选记录speedbutton2.caption:= 删除; speedbutton4.enabled:=false; speedbutton1.enabled:=true; speedbutton3.enabled:=true; end; end; procedure tform9.speedbutton4click(sender: tobject); begin adoquery3.cancel; speedbutton1.caption:= 添加; speedb
21、utton2.caption:= 删除; speedbutton3.caption:= 修改; speedbutton4.enabled:=false; speedbutton1.enabled:=true; speedbutton2.enabled:=true; speedbutton3.enabled:=true; end; procedure tform9.speedbutton3click(sender: tobject); begin if speedbutton3.caption=修改 then begin adoquery3.edit; /修改课程表中的记录speedbutton
22、3.caption:= 确定; speedbutton4.enabled:=true; speedbutton2.enabled:=false; speedbutton1.enabled:=false; end else begin adoquery3.post; speedbutton3.caption:= 修改; speedbutton4.enabled:=false; speedbutton2.enabled:=true; speedbutton1.enabled:=true; end; end; procedure tform9.label1dblclick(sender: tobje
23、ct); begin form11:=tform11.create(application); form11.showmodal; end; end. 课程查询部分:procedure tform4.combobox1select(sender: tobject); begin edit1.text:=; button1.enabled:=false; end; procedure tform4.button1click(sender: tobject); begin if checkbox1.checked=true then begin adoquery1.close; /先将数据库关闭a
24、doquery1.sql.clear; /清空 adoquery1 内的 sql 值清空adoquery1.sql.add(select * from kecheng where +combobox1.text+ = +edit1.text+ and 学期 = +combobox2.text+); /合并查询,符合的话在 dbgrid 中显示出来adoquery1.execsql; adoquery1.open; end else begin adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add(select * from kechen
25、g where +combobox1.text+ = +edit1.text+);/单个条件查询adoquery1.execsql; adoquery1.open; end; end; procedure tform4.n2click(sender: tobject); begin /开启其他管理界面form2.show; form4.close; end; procedure tform4.n3click(sender: tobject); begin form3.show; form4.close; end; procedure tform4.n4click(sender: tobject
26、); begin form5.show; form4.close; end; procedure tform4.n6click(sender: tobject); begin form1.show; form4.close; end; procedure tform4.n7click(sender: tobject); begin form4.close; end; procedure tform4.edit1keypress(sender: tobject; var key: char); begin button1.enabled:=true; /当输入条件后,“确定”按钮为有效状态end
27、; procedure tform4.checkbox1click(sender: tobject); begin combobox2.enabled:=checkbox1.checked;/ 把查询到的数据放在dbgrid 上显示出来end; end. 四、学校学生管理信息系统的使用说明本系统分为学生用户和管理用户,如果你不是管理员, 那只能进行查询, 对数据没有修改权力。 只能进行查询, 里面有各个方面的, 如成绩查询, 课程查询,班级查询,学籍查询。各个界面都简单明了,只要输入你所需要的条件,系统自动调出数据。管理员登陆点系统,点系统,输入管理员用户及密码,跟数据库的用户表比较。如果通过
28、则能进行课程,学籍,成绩,班级的管理。五、结束语学生信息管理系统有利于学校对学生资料的查询,具有可使用性和可维护性,利于学校在需要之时快速了解学生的情况。并可以让具有最高权限的管理员更新、修改信息,已经具备了一定的功能。但由于时间关系和其它原因,本系统还有些不足之处,如本系统没有实现报表打印的功能等等,还有待于完善。在孙鸿飞老师的指导下, 经过一段时间的讨论和上机的不断调试,我顺利的完成了开发任务。在开发过程中,我不仅增强了自学的能力和开发软件的能力。对一些软件开发模式有了更加深刻的认识,对应用软件的熟练程度有所提高,已经能运用这项开发过程, 学会了如何进行独立式的开发一个综合系统。还从孙老师
29、身上学到了很多东西。孙老师认真负责的态度严谨治治学精神都使我收益非浅,在此期间更是给了我很多指导和宝贵意见。因为本系统所涉及的内容比较广泛并且比较复杂, 加上时间的仓促, 我还有很多地方应该努力, 在以后的学习中我会尽全力完成老师的要求最终达到自我实现。参考文献:(1)delphi6 数据库系统开发实例清华大学出版社(2)程序设计从入门到精通科学出版社(3)delphi6.0程序设计教程中国人民出版社(4)delphi 数据库开发自学教程人民邮电出版社各模块主要代码1、成绩管理模块(1)成绩管理procedure tform8.button1click(sender: tobject); va
30、r i:boolean; begin i:=false; adoquery2.close; adoquery2.sql.clear; adoquery2.sql.add(select * from pjcj where +edit2.text+); adoquery2.execsql; adoquery2.open; if not adoquery2.eof then ( 判断是否数据库最后一项)i:=true; if i then begin adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add(select * from dkcj
31、where 学号=+adoquery2.fieldvalues学号+); (使用 sql 进行查询)adoquery1.execsql; adoquery1.open; button1.enabled:=false; end else begin showmessage( 没有符合查询条件的记录!); (如果没有符合条combobox1.text:=; combobox2.text:=; 件的,显示该语句)combobox3.text:=; edit1.text:=; edit2.text:=; adoquery1.close; adoquery2.close; combobox1.enabl
32、ed:=true; end; dbedit1.datafield:=学号 ; dbedit2.datafield:=姓名 ; dbedit3.datafield:=课程号 ; dbedit4.datafield:=课程名 ; dbedit5.datafield:=成绩 ; dbedit6.datafield:=学号; dbedit7.datafield:=姓名 ; dbedit8.datafield:=班级 ; end; (2)成绩查询procedure tform3.button1click(sender: tobject); var i:boolean; begin i:=false; a
33、doquery2.close; adoquery2.sql.clear; adoquery2.sql.add(select * from pjcj where +edit2.text+); adoquery2.execsql; (根据 sql 进查询)adoquery2.open; if not adoquery2.eof then i:=true; if i then begin adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add(select * from dkcj where 学号=+adoquery2.fieldvalues学
34、号+); adoquery1.execsql; adoquery1.open; button1.enabled:=false; end else begin showmessage( 没有符合查询条件的记录!); combobox1.text:=; (当没有符合条件的记录,自动combobox2.text:=; 清空选择框里的查询条件)combobox3.text:=; edit1.text:=; edit2.text:=; adoquery1.close; adoquery2.close; combobox1.enabled:=true; end; end; procedure tform3
35、.dbgrid2cellclick(column: tcolumn); var str:string; begin str:=adoquery2.fieldvalues学号; adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add(select * from dkcj where 学号 =+str+); adoquery1.execsql; adoquery1.open; end; procedure tform3.n4click(sender: tobject); (管理界面的切换)begin form5.show; form3.close; end; procedure tform3.n6click(sender: tobject); be
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单招试题及答案重庆
- 2025年航空违禁品识别比武笔试题库及答案解析
- 安全校园自评报告
- 2026下半年湖北襄阳宜城市事业单位招聘工作人员17人易考易错模拟试题(共500题)试卷后附参考答案
- 2026年事业编海关关员岗专项训练试卷
- 足球:运球变向突破射门 教学设计-2025-2026学年高一上学期体育与健康人教版必修第一册
- 人教部编版(五四制)一年级下册口语交际:打电话教案
- 高中历史 第1单元 中国传统文化主流思想的演变 第1课“百家争鸣”和儒家思想的形成教学设计 新人教版必修3
- 七年级生物下册 第四单元 第一章 第二节 人的生殖教学设计2 (新版)新人教版
- 2026下半年江苏无锡市梁溪区事业单位招聘36人易考易错模拟试题(共500题)试卷后附参考答案
- GB/T 33061.10-2025塑料动态力学性能的测定第10部分:使用平行平板振动流变仪测定复数剪切黏度
- 井场作业应急预案(3篇)
- 儿童先天性代谢病净化方案
- 2024年上海秋季高考语文真题含答案
- CQC17463416-2024建设工程用电缆燃烧性能分级认证实施规则
- 华为战略合作协议书
- GMP卫生知识培训课件
- DB13(J)-T 8522-2023 承插型盘扣式钢管脚手架安全选用技术规程(京津冀)
- 电车充电桩安全管理培训课件
- 员工岗位安全操作规程模板
- 2025年高中生物会考测试真题(含答案)
评论
0/150
提交评论