数据库课程设计宿舍管理信息系统_第1页
数据库课程设计宿舍管理信息系统_第2页
数据库课程设计宿舍管理信息系统_第3页
数据库课程设计宿舍管理信息系统_第4页
数据库课程设计宿舍管理信息系统_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 1 概述1.1 系统开发背景与现状 随着时代的发展,计算机技术越来越深入各行各业,为广大的用户提供了更为周到和便捷的服务。目前各行各业广泛使用专用系统,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,设计开发好一个专用系统对一个机构(或部门)的发展十分重要。近年来,随着用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术的广泛应用,向用户提供的服务将越来越丰富,越来越人性化。 对于学校而言,学生宿舍管理是必不可少的组成部分。目前仍然存在有学校停留在宿舍管理部门人员手工记录数据的阶段,手工记录对于规模小的学校来说勉强可以接受;但对于

2、学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的,而且当查找某条记录时,由于数据量庞大,只能依靠人工去一条一条地查找,这样不但麻烦而且浪费许多时间,工作效率比较低。采用计算机来管理宿舍和学生的信息,大大提高了查询的速度,节约了人力和物力资源,达到了预期的要求。今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面: 首先,计算机可以代替人工进行许多繁杂的劳动; 其次,计算机可以节省许多资源; 第三,计算机可以大大的提高人们的工作效率; 第四,计算机可以使敏感文档更加安全,等等.1.2 系统开发方法及

3、目标以microsoft sql server2000为后台数据库,以visual studio 2008为前端开发工具,以高校的宿舍管理需求为应用背景,开发一个典型的宿舍管理系统。本系统既要满足用户的设计,也要满足设计员的设计目标。1、用户的观点看,要求系统能够达到以下目标 1) 对信息的收集和保存信息。例如:输入宿舍的基本信息,宿舍的卫生信息等. 2)快速的传递信息。对那些共享的数据要快速的传递。 3)提供准确的信息。要求比手工作业提供的更加准确和细致的数据,例如宿舍的所有卫生成绩. 2、设计员从技术观点看,要求系统能达到以下的目标:1) 用户使用,具有较高的用户友好性。2) 系统具有灵活

4、、严格的权限设定功能,确保宿舍各类资料的可靠性和保密性,防止错误和违规操作。系统管理:可修改管理员密码3) 能对基本信息进行插入、删除、修改等操作。完成宿舍的学生住宿分配,可以自动分配或手动分配。数据查询:按宿舍号、班级、学生等进行分类查询,能进行精确和模糊查询。4)具有较强的可维护性和扩充性,能够适应用户的业务要求变化。5)可退出系统,保证个人信息安全性。2 需求分析本系统的最终用户为宿舍楼管理员。根据我们日常生活中的经验,结合对自己学校宿舍楼管理老师的咨询和对同宿舍楼同学的调查,得出用户的下列实际要求:宿舍管理:添加、修改、删除宿舍学生管理:学生入住、搬离来访管理:来访登记、查询水电管理:

5、水电缴费、查询卫生管理:卫生检查、查询用户管理:用户注册、修改密码根据如上得到的用户需求,我们将完善以下几功能: 1、 整体设计中,宿舍管理分为七大模块:宿舍管理模块、学生管理模块、报修管理模块、水电缴费管理模块、卫生管理模块、来访管理模块、用户管理模块。每个模块将实现不同的功能。 2、 对学生、宿舍信息等进行维护,可对已存在的信息进行修改与删除操作,及时更改存储数据中存在的不足之处,便于对学校宿舍的管理。 3、 根据输入的查询条件可显示符合条件的学生、宿舍,拥有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低的优点,可以极大地提高学生查宿舍的效率。系统运行流程图学生宿舍管理系

6、统宿舍信息管理基本信息宿舍查询学生信息管理学生入住学生查询卫生信息管理添加检查检查查询水电收费管理水电收费添加水电收费查询来访人员管理来访登记来访查询报修管理报修登记报修查询3 数据库逻辑结构设计1.学生信息表该表用于存储学生基本信息字段名字段类型主键学号文本是姓名文本否性别文本否班级文本否宿舍号文本否2.宿舍信息表该表用于存储宿舍基本信息字段名字段类型字段大小主键宿舍号文本10是电话文本10否住宿费文本10否床位数数字10否桌子数数字10否椅子数数字10否备注文本300否3.卫生检查信息表该表用于存储卫生检查基本信息。字段名字段类型主键检查编号自动编号是宿舍号文本否检查日期日期/时间否检查情

7、况文本否备注文本否4.用户信息表该表用于存储用户基本信息 字段名字段类型主键用户名文本否密码文本否4 程序核心代码及控件描述4.1登录界面设计显示登陆界面,提示用户输入账号、密码,若错误给出提示。核心代码: static void main() application.run(new login();private void btadd_click(object sender, system.eventargs e)if(name.text.trim()=""|password.text.trim()="")messagebox.show("请

8、输入用户名和密码","提示");elseoleconnection1.open();oledbcommand cmd=new oledbcommand("",oleconnection1);string sql="select * from userinfo where uname='"+name.text.trim()+"' and pwd='"+password.text.trim()+"'"cmd.commandtext=sql;if (null!

9、=cmd.executescalar()/隐藏登录窗口this.visible=false; /创建并打开主界面main main=new main();main.tag=this.findform();oledbdatareader dr;cmd.commandtext=sql;dr=cmd.executereader();dr.read();main.statusbarpanel2.text=name.text.trim();main.showdialog(); elsemessagebox.show("用户名或密码错误","警告");oleconn

10、ection1.close();private void btclose_click(object sender, system.eventargs e)this.close(); private void login_load(object sender, eventargs e) 4.2 主界面设计显示系统主界面,显示用户登录信息并给出各个功能模块的选项。核心代码:protected override void dispose( bool disposing )if( disposing )if(components != null)components.dispose();base.di

11、spose( disposing );adduser adduser;private void menuitem9_click(object sender, system.eventargs e)adduser = new adduser();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();adduser.mdiparent = this;adduser.windowstate = formwindowstate.maximized;ad

12、duser.show();modifycode modifycode;private void menuitem10_click(object sender, system.eventargs e)modifycode = new modifycode();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();modifycode.mdiparent = this;modifycode.tag = this.statusbarpanel2.te

13、xt.trim();modifycode.windowstate = formwindowstate.maximized;modifycode.show();private void menuitem11_click(object sender, system.eventargs e)(system.windows.forms.form)this.tag).visible=true;this.close();private void menuitem8_click(object sender, system.eventargs e)this.close();adddorm adddorm;pr

14、ivate void menuitem12_click(object sender, system.eventargs e)adddorm = new adddorm();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();adddorm.mdiparent = this;adddorm.windowstate = formwindowstate.maximized;adddorm.show();dorm dorm;private void

15、menuitem13_click(object sender, system.eventargs e)dorm = new dorm();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();dorm.mdiparent = this;dorm.windowstate = formwindowstate.maximized;dorm.show();addstudent addstudent;private void menuitem14_cli

16、ck(object sender, system.eventargs e)addstudent = new addstudent();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();addstudent.mdiparent = this;addstudent.windowstate = formwindowstate.maximized;addstudent.show();student student;private void menu

17、item15_click(object sender, system.eventargs e)student = new student();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();student.mdiparent = this;student.windowstate = formwindowstate.maximized;student.show();addcheck addcheck;private void menuite

18、m16_click(object sender, system.eventargs e)addcheck = new addcheck();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();addcheck.mdiparent = this;addcheck.windowstate = formwindowstate.maximized;addcheck.show();check check;private void menuitem17_

19、click(object sender, system.eventargs e)check = new check();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();check.mdiparent = this;check.windowstate = formwindowstate.maximized;check.show();addcharge addcharge;private void menuitem18_click(objec

20、t sender, system.eventargs e)addcharge = new addcharge();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();addcharge.mdiparent = this;addcharge.windowstate = formwindowstate.maximized;addcharge.show();charge charge;private void menuitem19_click(ob

21、ject sender, system.eventargs e)charge = new charge();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();charge.mdiparent = this;charge.windowstate = formwindowstate.maximized;charge.show();addrepair addrepair;private void menuitem20_click(object s

22、ender, system.eventargs e)addrepair = new addrepair();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();addrepair.mdiparent = this;addrepair.windowstate = formwindowstate.maximized;addrepair.show();repair repair;private void menuitem21_click(objec

23、t sender, system.eventargs e)repair = new repair();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();repair.mdiparent = this;repair.windowstate = formwindowstate.maximized;repair.show();addregis addregis;private void menuitem22_click(object sender

24、, system.eventargs e)addregis = new addregis();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();addregis.mdiparent = this;addregis.windowstate = formwindowstate.maximized;addregis.show();register register;private void menuitem23_click(object send

25、er, system.eventargs e)register = new register();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();register.mdiparent = this;register.windowstate = formwindowstate.maximized;register.show();private void toolbar1_buttonclick(object sender, system.w

26、indows.forms.toolbarbuttonclickeventargs e)switch(toolbar1.buttons.indexof(e.button)case 0:form adddorm = new adddorm();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();adddorm.mdiparent = this;adddorm.windowstate = formwindowstate.maximized;addd

27、orm.show();break;case 1:form addstudent = new addstudent();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();addstudent.mdiparent = this;addstudent.windowstate = formwindowstate.maximized;addstudent.show();break;case 2:form addcheck = new addcheck

28、();for(int x=0;x<this.mdichildren.length;x+)form tempchild = (form)this.mdichildrenx;tempchild.close();addcheck.mdiparent = this;addcheck.windowstate = formwindowstate.maximized;addcheck.show();break;case 3:form addcharge = new addcharge();for(int x=0;x<this.mdichildren.length;x+)form tempchil

29、d = (form)this.mdichildrenx;tempchild.close();addcharge.mdiparent = this;addcharge.windowstate = formwindowstate.maximized;addcharge.show();break;case 4:form addrepair = new addrepair();for(int x=0;x<mdichildren.length;x+)form tempchild = (form)mdichildrenx;tempchild.close();addrepair.mdiparent =

30、 this;addrepair.windowstate = formwindowstate.maximized;addrepair.show();break;case 5:form addregis = new addregis();for(int x=0;x<mdichildren.length;x+)form tempchild = (form)mdichildrenx;tempchild.close();addregis.mdiparent = this;addregis.windowstate = formwindowstate.maximized;addregis.show()

31、;break;4.3 学生信息管理页面设计提示输入学生信息(宿舍号、学号、姓名、班级等),实现学生信息录入。核心代码:public addstudent()/ windows 窗体设计器支持所必需的/initializecomponent();this.oleconnection1 = new oledbconnection(dormmis.database.dbconnection.connection);/ todo: 在initializecomponent 调用后添加任何构造函数代码/ <summary>/ 清理所有正在使用的资源。/ </summary>pro

32、tected override void dispose( bool disposing )if( disposing )if(components != null)components.dispose();base.dispose( disposing );#region windows 窗体设计器生成的代码/ <summary>/ 设计器支持所需的方法- 不要使用代码编辑器修改/ 此方法的内容。/ </summary> private void btsure_click(object sender, system.eventargs e)if (textdormid

33、.text.trim()=""|textsid.text.trim()=""|textname.text.trim()="")messagebox.show("请填写完整信息","确定");elseoleconnection1.open();string sql="select * from dorm where dormid='"+textdormid.text.trim()+"'"oledbcommand cmd = new oledb

34、command(sql,oleconnection1);if (null=cmd.executescalar()messagebox.show("没有该房间号,请重新输入","提示");elsesql = "select bednum-(select count(*) from student where dormid = '"+textdormid.text.trim()+"') from dorm "+"where dormid = '"+textdormid.tex

35、t.trim()+"'"cmd.commandtext=sql;if (convert.toint16(cmd.executescalar().tostring().trim()=0)messagebox.show("该房间已满","提示");elsesql="select * from student where sid='"+textsid.text.trim()+"'"cmd.commandtext = sql;if (null!=cmd.executescalar

36、()messagebox.show("学号重复","提示");elsesql = "insert into student values ('"+textsid.text.trim()+"','"+textname.text.trim()+"','"+combosex.text.trim()+"',"+"'"+textclass.text.trim()+"','"+

37、textdormid.text.trim()+"')"cmd.commandtext = sql;cmd.executenonquery();messagebox.show("添加成功","提示");clear();oleconnection1.close();private void btclose_click(object sender, system.eventargs e)this.close();private void clear()textdormid.text=""textsid.text=

38、""textname.text=""combosex.text=""textclass.text=""显示学生信息查询界面,可根据学号、姓名、宿舍号等信息实现查找功能。核心代码:dataset ds;private void btquery_click(object sender, system.eventargs e)oleconnection1.open();string sql="select sid as 学号,sname as 姓名,ssex as 性别,class as 班级,dormid a

39、s 宿舍号from student"if (textsid.text.trim()=""&&textname.text.trim()=""&&textdormid.text.trim()="")sql=sql;elseif (textsid.text.trim()!="")sql=sql+" where sid='"+textsid.text.trim()+"'"else if (textname.text.trim(

40、)!="")sql=sql+" where sname='"+textname.text.trim()+"'"elsesql=sql+" where dormid='"+textdormid.text.trim()+"'"oledbdataadapter adp = new oledbdataadapter(sql,oleconnection1);ds = new dataset();ds.clear();adp.fill(ds,"student&quo

41、t;);datagrid1.datasource = ds.tables0.defaultview;datagrid1.captiontext = "共有"+ds.tables0.rows.count+"条记录"oleconnection1.close();studentmodify studentmodify;private void btadd_click(object sender, system.eventargs e)if (datagrid1.datasource!=null&&datagrid1.currentrowindex>=0&&datagrid1datagrid1.currentcell!=null)studentmodify = new studentmodify();studentmodify.textsid.text=ds.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论