寝室管理系统设计报告

经济管理学院本科课程设计论文

数据库开发与应用课程设计

学 号: 0805170130

姓 名: 杨富军

班 级: 管理081

专 业: 信息管理与信息系统

系 别: 管理系

指导教师: 孙鸿飞

2010 年 12 月24日 吉 林

第一章 开发背景与现状 ............................................. 3

第二章 开发设计的意义 ............................................. 3

第三章 系统分析 .................................................... 4

1 系统目标和开发可行性 ............................................. 4

1.1系统目标 .................................................... 4

1.2可行性分析 .................................................. 4

1.2.1 技术可行性分析 ........................................ 4

1.2.2 经济可行性分析 ........................................ 4

1.2.3 管理可行性分析 ........................................ 4

2系统需求说明 ..................................................... 5

2.1宿舍楼的基本情况 ............................................ 5

2.1.1学生的基本信息 ........................................ 5

2.1.2宿舍的基本信息 ........................................ 5

2.1.3报修的基本信息: ...................................... 5

2.1.4夜归的基本信息: ....................................... 5

2.2 用户对系统的要求 ........................................... 6

2.2.1信息要求 .............................................. 6

2.2.2 处理要求 .............................................. 6

2.2.3安全性与完整性要求 .................................... 6

第四章 系统功能模块设计 ........................................... 7

第五章 数据库设计 ................................................. 7

1 数据字典: ....................................................... 8

1.1数据项: .................................................... 8

1.1.1 login表 .............................................. 8

1.1.2 studentn表 ........................................... 8

1.1.3 work表 ............................................... 9

2 概念结构设计: .................................................. 10

3 数据库实现 ...................................................... 11

第六章 界面设计 .................................................. 12

1 登陆界面 ........................................................ 12

2 主页界面设计 .................................................... 12

3 管理系统---公寓设置界面 ........................................ 13

4 学生管理---按学期注册界面 ....................................... 13

5 员工管理—员工信息管理界面 ...................................... 14

6 信息查询---混合查询界面 ......................................... 14

第七章 代码设计 .................................................. 15

1 登陆界面代码 .................................................... 15

2 主页面代码 ...................................................... 17

3 员工信息登记界面代码 ............................................ 19

4 学生信息修改 .................................................... 20

第八章 课程设计总结 .............................................. 26

东北电力大学学生寝室管理信息系统

设计报告

第一章 开发背景与现状

随着时代的发展,计算机技术越来越深入各行各业,为广大的用户提供了更为周到和便捷的服务。目前各行各业广泛使用专用系统,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,设计开发好一个专用系统对一个机构(或部门) 的发展十分重要。近年来,随着用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术的广泛应用,向用户提供的服务将越来越丰富,越来越人性化。对于学校而言,学生宿舍管理是必不可少的组成部分。目前仍然存在有学校停留在宿舍管理部门人员手工记录数据的阶段,手工记录对于规模小的学校来说勉强可以接受;但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的, 而且当查找某条记录时,由于数据量庞大,只能依靠人工去一条一条地查找,这样不但麻烦而且浪费许多时间,工作效率比较低。采用计算机来管理宿舍和学生的信息,大大提高

了查询的速度,节约了人力和物力资源达到了要求。

第二章 开发设计的意义

为了实现提高高校宿舍管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便宿舍管理部门的工作人员全面地掌握学生住宿情况等目的;为宿舍管理部门,开发设计专用系统--高校学生宿舍信息管理系统来进行管理学生宿舍信息,使学生宿舍信息实现标准化的管理和规范化的制度是十分必要的。专用系统是一个信息管理系统MIS (Management Information System)(以下就称信息管理系统) ,它将实现检索迅速和查找方便;信息的录入,修改和删除功能;对新入

校学生进行宿舍安排等功能,学生可以在系统前台产讯。

第三章 系统分析

1 系统目标和开发可行性

1.1系统目标

按照管理信息系统的原理和方法,采用成熟的信息技术和手段,支持宿舍管理

工作的全过程,加强各种信息资源的管理与运用,提高管理工作的现代化水平,优化人、财、物和信息资源在各环节的运行机制。

1.2可行性分析

1.2.1 技术可行性分析

我们正走进一个信息时代,信息技术将从根本上改变人类社会的生产方式和生

活方式,各行各业的业务管理现在都已经相继使用计算机来处理,可以说用计算机进行信息管理是一个总趋势。学生宿舍管理系统主要是对宿舍、寝室的配置、住宿人员登记、卫生检查、宿舍资产、学生违纪、值班老师记录以及对学生住宿情况查询,修改,更新等。可以更快地了解到每个学生的住宿情况。开发一个学生宿舍管理系统可以达到事半功倍的效果。随着数据库管理系统的普及以及可视化编程系统的出现,使数据库管理信息系统的开发变得更为简单,因此开发一个学生宿舍管理系统是完全可行的。

1.2.2 经济可行性分析

学校有自己的微机室可以使用,而且宿舍管理部门也配有电脑不必重新购置计

算机,不需要花费大量资金,是一个节约人力物力的好办法。

1.2.3 管理可行性分析

本单位的管理人员都具有较高的素质,它们对管理现代化有较高的认识水平,

并且有各级部门的大力支持和重视。

2系统需求说明

2.1宿舍楼的基本情况

学生住在宿舍楼中,每栋宿舍楼都会有若干名老师负责本宿舍楼的日常管理。

2.1.1学生的基本信息

入校时,每位同学都有唯一的学号,并被分配到指定的宿舍楼和指定的宿舍,

也会有一个宿舍号,其入校时间就是他的入住时间。另外,为了管理上的方便,同

一院系的学生的宿舍一般在一起,相应地会有其所在的院系名称。

2.1.2宿舍的基本信息

每间宿舍都有唯一的宿舍号,入校时,宿舍会装公用电话机, 相应地就有宿舍

电话号码。

2.1.3报修的基本信息:

宿舍楼中经常出现财产的损坏,比如灯泡坏了,厕所的马桶出故障了等,这时,

同学们需要将 财产损坏情况报告给宿舍楼管理员,以便学校派人进行维修。这时,

需要记录报修的宿舍号和损坏的财产编号,同时记录报修的时间和损坏的原因。当

损坏的财产维修完毕后,应记录解决时间,表示该报修成功解决。

2.1.4夜归的基本信息:

宿舍楼在指定的时间关门(比如晚上12点),若有同学晚于关门 时间会宿舍,

需通知宿舍楼管理员,同时应登记晚归学生姓名,宿舍号,时间和晚归原因,以利

于学校的管理和查证。

2.2 用户对系统的要求

2.2.1信息要求

宿舍楼管理员能查询上面提到的宿舍楼的所有相关信息,包括某一学号的学生在宿舍楼中住宿的详细信息,快件收发的所有信息,报修的所有信息,夜归的详细信息和学生离返校的信息。以利于对整个宿舍楼的全面管理。

2.2.2 处理要求

当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。比如,某些同学搬到其他的宿舍中去,他们在本宿舍楼中相应的记录就应该删去;或者学生转换专业,他们记录中院系的信息也要作相应的修改等等。

当宿舍楼的电话号码发生变更时,宿舍楼管理员能根据有关证明做出修改。当宿舍财产报修及时解决后,管理员应登记解决时间,表明该报修问题已成功解决。

2.2.3安全性与完整性要求

2.2.3.1安全性要求:

系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;

系统应对不同用户设置不同的权限,区分不同的用户如区分普通用户(学生),管理员。

2.2.3.2完整性要求:

各种信息记录的完整性,信息记录内容不能为空;各种数据间相互的联系的正确性;相同的数据在不同记录中的一致性。

第四章 系统功能模块设计

各功能模块介绍:

1、管理系统模块

包含添加楼房、楼房设置以及退出系统,用于设置楼房楼层数、人数等等;

2、学生管理模块

包含基本信息录入、按学期注册以及离校处理,用于录入入住学生的基本信息以及毕业学生住宿的解决登记;

3、信息查询模块

包含学生查询、员工查询、个人财产管理、员工上班情况、信访查询情况,用于了解学生的基本情况、员工的基本信息、个人信息的详细记录以及用户信息的查询;

4、住宿情况模块

该模块包含可查入住信息和入住人员信息等等;

5、出入登记模块

该模块包含来访登记和出楼登记;

6、财产管理

该模块包含个人财产登记和个人财产查询。

第五章 数据库设计

创建数据库是设计系统的第一步,其关键问题在于确定所需的表结构并为之建立索引。为了使系统设计精练实用,体现关系型数据库的特点,本系统还为各相关表建立关系。

1 数据字典:

1.1数据项:

1.1.1 login表

(1)usename

含义说明:惟一标识一个用户名

类型:文本

允许空:否

(2)usepwd:

含义说明:惟一标识一个用户名的密码

类型:文本

允许空:否

(3)qx

含义说明:惟一标识一个管理员名称

类型:文本

允许空:否

1.1.2 studentn表

(1)学号

含义说明:惟一标识一个学生

类型:文本

允许空:否

(2)学生姓名

含义说明:惟一标识一个学生姓名

类型:文本

允许空:否

(3性别

含义说明:惟一标识性别

类型:文本

允许空:否

(4)所在系

含义说明:惟一标识一个学生所在系

类型:文本

允许空:否

(5)班级

含义说明:惟一标识一个用户所在班级

类型:文本

允许空:否

(6)入学日期

含义说明:定义学生入学日期

类型:日期/时间

允许空:否

(7)毕业日期

含义说明:定义学生毕业日期

类型:日期/时间

允许空:否

(8)籍贯

含义说明:惟一标识一个用户的籍贯

类型:文本

允许空:否

(9)联系电话

含义说明:惟一标识一个用户联系方式

类型:文本

允许空:是

1.1.3 work表

(1)员工编号

含义说明:惟一标识一个员工

类型:文本

允许空:否

(2)员工姓名

含义说明:惟一标识一个员工姓名

类型:文本

允许空:否

(3)性别

含义说明:惟一标识性别

类型:文本

允许空:否

(4)联系电话

含义说明:标识一个员工联系电话

类型:文本

允许空:否

(3)负责寝室

含义说明:惟一标识员工负责的寝室楼层

类型:文本

允许空:否

2 概念结构设计:

本系统在需求分析的基础上设计出能够满足用户需求的各种实体。根据上面的分析所得的实体图:

东电寝室管理系统实体属性图

图1 login实体属性图

图2 student实体属性图

图3 student实体属性图

3 数据库实现

表2 student信息表

表3 work信息表

第六章 界面设计

1 登陆界面

2 主页界面设计

3 管理系统---公寓设置界面

4 学生管理---按学期注册界面

5 员工管理—员工信息管理界面

6 信息查询---混合查询界面

第七章 代码设计

1 登陆界面代码

procedure Tfrmlogin.Button1Click(Sender: TObject); var

username ,password:string; begin

username:=trim(cmbname.Text); if username='' then begin

messagedlg('请选着登陆用户!',mtwarning,[mbok],0) ; exit; end;

with dm.ADOQuery1 do begin close; sql.Clear;

sql.Add('select * from login where username=:username and userpwd=:userpwd');

parameters.ParamByName('username').Value:=trim(cmbname.Text); parameters.ParamByName('userpwd').Value:=trim(edtpwd.Text); open;

if recordcount

if i=3 then begin

MessageBox(0,没有权限使用此软件',' 警告',mb_ICONWarning+mb_OK); application.Terminate; end;

MessageBox(Handle,PChar('您输入的密码有误! '+#10#13+'你还有 '+INTTOSTR(3-i)+' 次机会'),

'警告!',mb_ICONWarning+mb_OK);; edtpwd.Text:=''; edtpwd.SetFocus; i:=i+1; exit; end else

frmmain.StatusBar1.Panels.Items[1].Text:=username;

frmmain.StatusBar1.Panels.Items[3].Text:=dm.ADOQuery1.FieldValues['qx']; if FieldByName('qx').AsString='教职工' then begin

with frmmain do begin

n8.Enabled:=false;

yg.Enabled:=false;

toolbutton1.Enabled:=false; toolbutton6.Enabled:=false; end; end;

if fieldByName('qx').AsString='东北电力的大学学生' then begin

with frmmain do begin

toolbutton1.Enabled:=false; toolbutton5.Enabled:=false; toolbutton6.Enabled:=false; end; end;

if fieldByName('qx').AsString='宿舍管理员' then begin

with frmmain do begin

n11.Enabled:=false; n12.Enabled:=false;

toolbutton1.Enabled:=false; end; end;

frmlogin.close; end; end;

procedure Tfrmlogin.edtpwdKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin

if key=13 then

frmlogin.Button1Click(sender); end; end.

2 主页面代码

procedure Tfrmmain.ToolButton1Click(Sender: TObject); begin

frmaddyonghu:=Tfrmaddyonghu.Create(self); frmaddyonghu.ShowModal; frmaddyonghu.Free; end;

procedure Tfrmmain.FormActivate(Sender: TObject); begin

frmlogin:=Tfrmlogin.Create(self); frmlogin.ShowModal; frmlogin.Free; end;

procedure Tfrmmain.N24Click(Sender: TObject); begin

frmgrccquery:=Tfrmgrccquery.Create(self); frmgrccquery.ShowModal; frmgrccquery.Free; end;

procedure Tfrmmain.N40Click(Sender: TObject); begin

frmgrccquery:=Tfrmgrccquery.Create(self); frmgrccquery.ShowModal; frmgrccquery.Free; end;

procedure Tfrmmain.N39Click(Sender: TObject); var

frmygquery:Tfrmygquery; begin

frmygquery:=Tfrmygquery.Create(self); frmygquery.ShowModal; frmygquery.Free; end;

procedure Tfrmmain.Image1Click(Sender: TObject); begin end; end.

procedure Tfrmmain.ToolButton7Click(Sender: TObject); var

frmxsquey:Tfrmxsquey; begin

frmxsquey:=Tfrmxsquey.Create(self); frmxsquey.TabbedNotebook1.PageIndex:=6; frmxsquey.ShowModal; frmxsquey.Free; end;

procedure Tfrmmain.ToolButton5Click(Sender: TObject); var

frmaddstu:Tfrmaddstu; begin

frmaddstu:=Tfrmaddstu.Create(self); frmaddstu.ShowModal; frmaddstu.Free; end;

procedure Tfrmmain.N41Click(Sender: TObject); var

frmfwquery:Tfrmfwquery; begin

frmfwquery:=Tfrmfwquery.Create(self); frmfwquery.ShowModal; frmfwquery.Free; end;

procedure Tfrmmain.N23Click(Sender: TObject); var

frmgrccdengji:Tfrmgrccdengji; begin

frmgrccdengji:=Tfrmgrccdengji.Create(self); frmgrccdengji.ShowModal; frmgrccdengji.Free; end;

procedure Tfrmmain.ToolButton1Click(Sender: TObject); begin

frmaddyonghu:=Tfrmaddyonghu.Create(self); frmaddyonghu.ShowModal; frmaddyonghu.Free; end;

procedure Tfrmmain.FormActivate(Sender: TObject); begin

frmlogin:=Tfrmlogin.Create(self); frmlogin.ShowModal; frmlogin.Free; end;

procedure Tfrmmain.N24Click(Sender: TObject); begin

frmgrccquery:=Tfrmgrccquery.Create(self);

frmgrccquery.ShowModal; frmgrccquery.Free; end;

procedure Tfrmmain.N40Click(Sender: TObject); begin

frmgrccquery:=Tfrmgrccquery.Create(self); frmgrccquery.ShowModal; frmgrccquery.Free; end;

procedure Tfrmmain.N39Click(Sender: TObject); var

frmygquery:Tfrmygquery; begin

frmygquery:=Tfrmygquery.Create(self); frmygquery.ShowModal; frmygquery.Free; end; end.

3 员工信息登记界面代码

procedure Tfrmygdj.Button1Click(Sender: TObject); var

i:integer; begin

if trim(edtnum.Text)='' then begin

showmessage('请你输入员工号!'); exit; end;

if trim(edtname.Text)='' then begin

showmessage('请你输入姓名!'); edtname.SetFocus; exit; end; try

with dm.ADOQuery1 do begin close;

sql.Clear;

sql.Add('insert into

values(:ygnum,:ygname,:ygsex,:lh,:lc,:zhiwei,:jt,:lxphone)');

worker

parameters.ParamByName('ygnum').Value:=edtnum.Text; parameters.ParamByName('ygname').Value:=edtname.Text; parameters.ParamByName('ygsex').Value:=cmbsex.Text; parameters.ParamByName('lh').Value:=cmblh.Text; parameters.ParamByName('lc').Value:=cmblc.Text; parameters.ParamByName('jt').Value:=edtjt.Text;

parameters.ParamByName('lxphone').Value:=edtphone.Text; execsql;

showmessage('操作成功!'); end; except

showmessage('操作失败!'); end;

with dm.ADOQuery1 do begin close;

sql.Clear;

sql.Add('select * from worker'); open; end;

with dbgrid1 do begin

Columns.Items[0].Title.caption:='员工号'; Columns.Items[1].Title.Caption:='姓名'; Columns.Items[2].Title.caption:='性别'; Columns.Items[3].Title.caption:='楼号'; Columns.Items[4].Title.caption:='楼层'; Columns.Items[5].Title.caption:='职位';

Columns.Items[6].Title.caption:='家庭地址'; Columns.Items[7].Title.caption:='联系电话'; end;

for i:=0 to dbgrid1.FieldCount-1 do dbgrid1.Fields[i].DisplayWidth:=14; end; end.

4 学生信息修改

procedure Tfrmxsquey.Button1Click(Sender: TObject); var

i:integer; begin

if trim(edtnum.Text)='' then

begin

showmessage('请输入学号!');

edtnum.SetFocus;

exit;

end;

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student where stunum=:stunum');

parameters.ParamByName('stunum').Value:=trim(edtnum.Text); open;

end;

dbgrid1.Columns.Items[0].Title.Caption:='学 号';

dbgrid1.Columns.Items[1].Title.Caption:='姓 名';

dbgrid1.Columns.Items[2].Title.Caption:='性 别';

dbgrid1.Columns.Items[3].Title.Caption:='系 别';

dbgrid1.Columns.Items[4].Title.Caption:='班 别';

dbgrid1.Columns.Items[5].Title.Caption:='入学日期';

dbgrid1.Columns.Items[7].Title.Caption:='出生年月';

dbgrid1.Columns.Items[8].Title.Caption:='政治面貌';

dbgrid1.Columns.Items[9].Title.Caption:='联系电话';

dbgrid1.Columns.Items[12].Title.Caption:='家庭地址';

for i:=0 to dbgrid1.FieldCount-1 do

begin

dbgrid1.Fields[i].DisplayWidth:=12;

dbgrid2.Fields[i].DisplayWidth:=12;

dbgrid3.Fields[i].DisplayWidth:=12;

end;

except

showmessage('操作失败!');

end;

end;

procedure Tfrmxsquey.FormCreate(Sender: TObject);

var

i:integer;

begin

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student ');

open;

dbgrid1.DataSource:=dm.DataSource1;

dbgrid2.DataSource:=dm.DataSource1;

dbgrid3.DataSource:=dm.DataSource1;

dbgrid4.DataSource:=dm.DataSource1;

end;

except

end;

dbgrid1.Columns.Items[0].Title.Caption:='学 号';

dbgrid1.Columns.Items[1].Title.Caption:='姓 名';

dbgrid1.Columns.Items[2].Title.Caption:='性 别';

dbgrid1.Columns.Items[3].Title.Caption:='系 别';

dbgrid1.Columns.Items[4].Title.Caption:='班 别';

dbgrid1.Columns.Items[5].Title.Caption:='入学日期';

dbgrid1.Columns.Items[8].Title.Caption:='政治面貌';

dbgrid1.Columns.Items[9].Title.Caption:='联系电话';

dbgrid1.Columns.Items[12].Title.Caption:='家庭地址';

for i:=0 to dbgrid1.FieldCount-1 do

begin

dbgrid1.Fields[i].DisplayWidth:=12;

end;

end;

procedure Tfrmxsquey.Button2Click(Sender: TObject);

var

i:integer;

begin

if trim(edtname.Text)='' then

begin

showmessage('请输入姓名!');

edtname.SetFocus;

exit;

end;

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student where stuname=:stuname');

parameters.ParamByName('stuname').Value:=trim(edtname.Text); open;

end;

dbgrid1.Columns.Items[0].Title.Caption:='学 号';

dbgrid1.Columns.Items[1].Title.Caption:='姓 名';

dbgrid1.Columns.Items[2].Title.Caption:='性 别';

dbgrid1.Columns.Items[3].Title.Caption:='系 别';

dbgrid1.Columns.Items[4].Title.Caption:='班 别';

dbgrid1.Columns.Items[5].Title.Caption:='入学日期';

dbgrid1.Columns.Items[7].Title.Caption:='出生年月';

dbgrid1.Columns.Items[8].Title.Caption:='政治面貌';

dbgrid1.Columns.Items[9].Title.Caption:='联系电话';

for i:=0 to dbgrid2.FieldCount-1 do

begin

dbgrid2.Fields[i].DisplayWidth:=12;

end;

except

showmessage('操作失败!');

end;

end;

procedure Tfrmxsquey.Button3Click(Sender: TObject);

var

i:integer;

begin

if trim(cmbsex.Text)='' then

begin

showmessage('请选着性别!');

exit;

end;

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student where stusex=:stusex');

parameters.ParamByName('stusex').Value:=trim(cmbsex.Text); open;

end;

dbgrid3.Columns.Items[0].Title.Caption:='学 号';

dbgrid3.Columns.Items[1].Title.Caption:='姓 名';

dbgrid3.Columns.Items[2].Title.Caption:='性 别';

dbgrid3.Columns.Items[3].Title.Caption:='系 别';

dbgrid3.Columns.Items[4].Title.Caption:='班 别';

dbgrid3.Columns.Items[5].Title.Caption:='入学日期';

dbgrid3.Columns.Items[6].Title.Caption:='毕业中学';

dbgrid3.Columns.Items[7].Title.Caption:='出生年月';

for i:=0 to dbgrid3.FieldCount-1 do

begin

dbgrid3.Fields[i].DisplayWidth:=12;

end;

except

showmessage('操作失败!');

end;

end;

procedure Tfrmxsquey.Button4Click(Sender: TObject);

var

i:integer;

begin

if trim(cmbdept.Text)='' then

begin

showmessage('请选着系别!');

exit;

end;

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student where dept=:dept');

parameters.ParamByName('dept').Value:=trim(cmbdept.Text); open;

end;

dbgrid4.Columns.Items[0].Title.Caption:='学 号';

dbgrid4.Columns.Items[1].Title.Caption:='姓 名';

dbgrid4.Columns.Items[2].Title.Caption:='性 别';

dbgrid4.Columns.Items[3].Title.Caption:='系 别';

dbgrid4.Columns.Items[4].Title.Caption:='班 别';

dbgrid4.Columns.Items[5].Title.Caption:='入学日期';

for i:=0 to dbgrid4.FieldCount-1 do

begin

dbgrid4.Fields[i].DisplayWidth:=12;

end;

except

showmessage('操作失败!');

end;

end;

procedure Tfrmxsquey.Button5Click(Sender: TObject);

var

i:integer;

begin

if trim(edtaddr.Text)='' then

begin

showmessage('请输入家庭地址!');

edtaddr.SetFocus;

exit;

end;

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student where jt=:jt');

parameters.ParamByName('jt').Value:=trim(edtaddr.Text);

open;

end;

dbgrid5.Columns.Items[0].Title.Caption:='学 号';

dbgrid5.Columns.Items[1].Title.Caption:='姓 名';

dbgrid5.Columns.Items[2].Title.Caption:='性 别';

dbgrid5.Columns.Items[3].Title.Caption:='系 别';

dbgrid5.Columns.Items[4].Title.Caption:='班 别';

dbgrid5.Columns.Items[5].Title.Caption:='入学日期';

dbgrid5.Columns.Items[6].Title.Caption:='毕业中学';

dbgrid5.Columns.Items[7].Title.Caption:='出生年月';

dbgrid5.Columns.Items[8].Title.Caption:='政治面貌';

dbgrid5.Columns.Items[9].Title.Caption:='联系电话';

for i:=0 to dbgrid5.FieldCount-1 do

begin

dbgrid5.Fields[i].DisplayWidth:=12;

end;

except

showmessage('操作失败!');

end;

end;

procedure Tfrmxsquey.Button6Click(Sender: TObject);

var

i:integer;

begin

if trim(edtbanji.Text)='' then

begin

showmessage('请输入班级!');

edtbanji.SetFocus;

exit;

end;

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student where banji=:banji');

parameters.ParamByName('banji').Value:=trim(edtbanji.Text); open;

end;

dbgrid6.Columns.Items[0].Title.Caption:='学 号';

dbgrid6.Columns.Items[1].Title.Caption:='姓 名';

dbgrid6.Columns.Items[2].Title.Caption:='性 别';

dbgrid6.Columns.Items[3].Title.Caption:='系 别';

dbgrid6.Columns.Items[4].Title.Caption:='班 别';

dbgrid6.Columns.Items[5].Title.Caption:='入学日期';

dbgrid6.Columns.Items[6].Title.Caption:='毕业中学';

dbgrid6.Columns.Items[7].Title.Caption:='出生年月';

dbgrid6.Columns.Items[8].Title.Caption:='政治面貌';

dbgrid6.Columns.Items[9].Title.Caption:='联系电话';

for i:=0 to dbgrid6.FieldCount-1 do

begin

dbgrid6.Fields[i].DisplayWidth:=12;

end;

except

showmessage('操作失败!');

end;

end;

procedure Tfrmxsquey.edtnumKeyPress(Sender: TObject; var Key: Char); begin

if Not(Key in ['0'..'9',Char(VK_BACK),Char(VK_RETURN)]) then begin

Key:=#0;

end;

end;

end.

第八章 课程设计总结

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的

问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。在学习的语言中,感觉delphi 简易易学,不仅适合界面设计更适合数据库的设计开发,在课程设计中遇到的问题,今后一定会解决的,争取更好的学以致用!

由于能力和知识的限制,有些只是把界面设计了出来,具体的功能还不能实现,例如本系统中住宿情况和信息管理,随着知识的扩充,我会逐渐完善本系统。

经济管理学院本科课程设计论文

数据库开发与应用课程设计

学 号: 0805170130

姓 名: 杨富军

班 级: 管理081

专 业: 信息管理与信息系统

系 别: 管理系

指导教师: 孙鸿飞

2010 年 12 月24日 吉 林

第一章 开发背景与现状 ............................................. 3

第二章 开发设计的意义 ............................................. 3

第三章 系统分析 .................................................... 4

1 系统目标和开发可行性 ............................................. 4

1.1系统目标 .................................................... 4

1.2可行性分析 .................................................. 4

1.2.1 技术可行性分析 ........................................ 4

1.2.2 经济可行性分析 ........................................ 4

1.2.3 管理可行性分析 ........................................ 4

2系统需求说明 ..................................................... 5

2.1宿舍楼的基本情况 ............................................ 5

2.1.1学生的基本信息 ........................................ 5

2.1.2宿舍的基本信息 ........................................ 5

2.1.3报修的基本信息: ...................................... 5

2.1.4夜归的基本信息: ....................................... 5

2.2 用户对系统的要求 ........................................... 6

2.2.1信息要求 .............................................. 6

2.2.2 处理要求 .............................................. 6

2.2.3安全性与完整性要求 .................................... 6

第四章 系统功能模块设计 ........................................... 7

第五章 数据库设计 ................................................. 7

1 数据字典: ....................................................... 8

1.1数据项: .................................................... 8

1.1.1 login表 .............................................. 8

1.1.2 studentn表 ........................................... 8

1.1.3 work表 ............................................... 9

2 概念结构设计: .................................................. 10

3 数据库实现 ...................................................... 11

第六章 界面设计 .................................................. 12

1 登陆界面 ........................................................ 12

2 主页界面设计 .................................................... 12

3 管理系统---公寓设置界面 ........................................ 13

4 学生管理---按学期注册界面 ....................................... 13

5 员工管理—员工信息管理界面 ...................................... 14

6 信息查询---混合查询界面 ......................................... 14

第七章 代码设计 .................................................. 15

1 登陆界面代码 .................................................... 15

2 主页面代码 ...................................................... 17

3 员工信息登记界面代码 ............................................ 19

4 学生信息修改 .................................................... 20

第八章 课程设计总结 .............................................. 26

东北电力大学学生寝室管理信息系统

设计报告

第一章 开发背景与现状

随着时代的发展,计算机技术越来越深入各行各业,为广大的用户提供了更为周到和便捷的服务。目前各行各业广泛使用专用系统,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,设计开发好一个专用系统对一个机构(或部门) 的发展十分重要。近年来,随着用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术的广泛应用,向用户提供的服务将越来越丰富,越来越人性化。对于学校而言,学生宿舍管理是必不可少的组成部分。目前仍然存在有学校停留在宿舍管理部门人员手工记录数据的阶段,手工记录对于规模小的学校来说勉强可以接受;但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的, 而且当查找某条记录时,由于数据量庞大,只能依靠人工去一条一条地查找,这样不但麻烦而且浪费许多时间,工作效率比较低。采用计算机来管理宿舍和学生的信息,大大提高

了查询的速度,节约了人力和物力资源达到了要求。

第二章 开发设计的意义

为了实现提高高校宿舍管理部门的工作效率;充分利用资源;减少不必要的人力,物力和财力的支出;方便宿舍管理部门的工作人员全面地掌握学生住宿情况等目的;为宿舍管理部门,开发设计专用系统--高校学生宿舍信息管理系统来进行管理学生宿舍信息,使学生宿舍信息实现标准化的管理和规范化的制度是十分必要的。专用系统是一个信息管理系统MIS (Management Information System)(以下就称信息管理系统) ,它将实现检索迅速和查找方便;信息的录入,修改和删除功能;对新入

校学生进行宿舍安排等功能,学生可以在系统前台产讯。

第三章 系统分析

1 系统目标和开发可行性

1.1系统目标

按照管理信息系统的原理和方法,采用成熟的信息技术和手段,支持宿舍管理

工作的全过程,加强各种信息资源的管理与运用,提高管理工作的现代化水平,优化人、财、物和信息资源在各环节的运行机制。

1.2可行性分析

1.2.1 技术可行性分析

我们正走进一个信息时代,信息技术将从根本上改变人类社会的生产方式和生

活方式,各行各业的业务管理现在都已经相继使用计算机来处理,可以说用计算机进行信息管理是一个总趋势。学生宿舍管理系统主要是对宿舍、寝室的配置、住宿人员登记、卫生检查、宿舍资产、学生违纪、值班老师记录以及对学生住宿情况查询,修改,更新等。可以更快地了解到每个学生的住宿情况。开发一个学生宿舍管理系统可以达到事半功倍的效果。随着数据库管理系统的普及以及可视化编程系统的出现,使数据库管理信息系统的开发变得更为简单,因此开发一个学生宿舍管理系统是完全可行的。

1.2.2 经济可行性分析

学校有自己的微机室可以使用,而且宿舍管理部门也配有电脑不必重新购置计

算机,不需要花费大量资金,是一个节约人力物力的好办法。

1.2.3 管理可行性分析

本单位的管理人员都具有较高的素质,它们对管理现代化有较高的认识水平,

并且有各级部门的大力支持和重视。

2系统需求说明

2.1宿舍楼的基本情况

学生住在宿舍楼中,每栋宿舍楼都会有若干名老师负责本宿舍楼的日常管理。

2.1.1学生的基本信息

入校时,每位同学都有唯一的学号,并被分配到指定的宿舍楼和指定的宿舍,

也会有一个宿舍号,其入校时间就是他的入住时间。另外,为了管理上的方便,同

一院系的学生的宿舍一般在一起,相应地会有其所在的院系名称。

2.1.2宿舍的基本信息

每间宿舍都有唯一的宿舍号,入校时,宿舍会装公用电话机, 相应地就有宿舍

电话号码。

2.1.3报修的基本信息:

宿舍楼中经常出现财产的损坏,比如灯泡坏了,厕所的马桶出故障了等,这时,

同学们需要将 财产损坏情况报告给宿舍楼管理员,以便学校派人进行维修。这时,

需要记录报修的宿舍号和损坏的财产编号,同时记录报修的时间和损坏的原因。当

损坏的财产维修完毕后,应记录解决时间,表示该报修成功解决。

2.1.4夜归的基本信息:

宿舍楼在指定的时间关门(比如晚上12点),若有同学晚于关门 时间会宿舍,

需通知宿舍楼管理员,同时应登记晚归学生姓名,宿舍号,时间和晚归原因,以利

于学校的管理和查证。

2.2 用户对系统的要求

2.2.1信息要求

宿舍楼管理员能查询上面提到的宿舍楼的所有相关信息,包括某一学号的学生在宿舍楼中住宿的详细信息,快件收发的所有信息,报修的所有信息,夜归的详细信息和学生离返校的信息。以利于对整个宿舍楼的全面管理。

2.2.2 处理要求

当学生基本信息发生变化时,宿舍楼管理员能对其进行修改。比如,某些同学搬到其他的宿舍中去,他们在本宿舍楼中相应的记录就应该删去;或者学生转换专业,他们记录中院系的信息也要作相应的修改等等。

当宿舍楼的电话号码发生变更时,宿舍楼管理员能根据有关证明做出修改。当宿舍财产报修及时解决后,管理员应登记解决时间,表明该报修问题已成功解决。

2.2.3安全性与完整性要求

2.2.3.1安全性要求:

系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和内容;

系统应对不同用户设置不同的权限,区分不同的用户如区分普通用户(学生),管理员。

2.2.3.2完整性要求:

各种信息记录的完整性,信息记录内容不能为空;各种数据间相互的联系的正确性;相同的数据在不同记录中的一致性。

第四章 系统功能模块设计

各功能模块介绍:

1、管理系统模块

包含添加楼房、楼房设置以及退出系统,用于设置楼房楼层数、人数等等;

2、学生管理模块

包含基本信息录入、按学期注册以及离校处理,用于录入入住学生的基本信息以及毕业学生住宿的解决登记;

3、信息查询模块

包含学生查询、员工查询、个人财产管理、员工上班情况、信访查询情况,用于了解学生的基本情况、员工的基本信息、个人信息的详细记录以及用户信息的查询;

4、住宿情况模块

该模块包含可查入住信息和入住人员信息等等;

5、出入登记模块

该模块包含来访登记和出楼登记;

6、财产管理

该模块包含个人财产登记和个人财产查询。

第五章 数据库设计

创建数据库是设计系统的第一步,其关键问题在于确定所需的表结构并为之建立索引。为了使系统设计精练实用,体现关系型数据库的特点,本系统还为各相关表建立关系。

1 数据字典:

1.1数据项:

1.1.1 login表

(1)usename

含义说明:惟一标识一个用户名

类型:文本

允许空:否

(2)usepwd:

含义说明:惟一标识一个用户名的密码

类型:文本

允许空:否

(3)qx

含义说明:惟一标识一个管理员名称

类型:文本

允许空:否

1.1.2 studentn表

(1)学号

含义说明:惟一标识一个学生

类型:文本

允许空:否

(2)学生姓名

含义说明:惟一标识一个学生姓名

类型:文本

允许空:否

(3性别

含义说明:惟一标识性别

类型:文本

允许空:否

(4)所在系

含义说明:惟一标识一个学生所在系

类型:文本

允许空:否

(5)班级

含义说明:惟一标识一个用户所在班级

类型:文本

允许空:否

(6)入学日期

含义说明:定义学生入学日期

类型:日期/时间

允许空:否

(7)毕业日期

含义说明:定义学生毕业日期

类型:日期/时间

允许空:否

(8)籍贯

含义说明:惟一标识一个用户的籍贯

类型:文本

允许空:否

(9)联系电话

含义说明:惟一标识一个用户联系方式

类型:文本

允许空:是

1.1.3 work表

(1)员工编号

含义说明:惟一标识一个员工

类型:文本

允许空:否

(2)员工姓名

含义说明:惟一标识一个员工姓名

类型:文本

允许空:否

(3)性别

含义说明:惟一标识性别

类型:文本

允许空:否

(4)联系电话

含义说明:标识一个员工联系电话

类型:文本

允许空:否

(3)负责寝室

含义说明:惟一标识员工负责的寝室楼层

类型:文本

允许空:否

2 概念结构设计:

本系统在需求分析的基础上设计出能够满足用户需求的各种实体。根据上面的分析所得的实体图:

东电寝室管理系统实体属性图

图1 login实体属性图

图2 student实体属性图

图3 student实体属性图

3 数据库实现

表2 student信息表

表3 work信息表

第六章 界面设计

1 登陆界面

2 主页界面设计

3 管理系统---公寓设置界面

4 学生管理---按学期注册界面

5 员工管理—员工信息管理界面

6 信息查询---混合查询界面

第七章 代码设计

1 登陆界面代码

procedure Tfrmlogin.Button1Click(Sender: TObject); var

username ,password:string; begin

username:=trim(cmbname.Text); if username='' then begin

messagedlg('请选着登陆用户!',mtwarning,[mbok],0) ; exit; end;

with dm.ADOQuery1 do begin close; sql.Clear;

sql.Add('select * from login where username=:username and userpwd=:userpwd');

parameters.ParamByName('username').Value:=trim(cmbname.Text); parameters.ParamByName('userpwd').Value:=trim(edtpwd.Text); open;

if recordcount

if i=3 then begin

MessageBox(0,没有权限使用此软件',' 警告',mb_ICONWarning+mb_OK); application.Terminate; end;

MessageBox(Handle,PChar('您输入的密码有误! '+#10#13+'你还有 '+INTTOSTR(3-i)+' 次机会'),

'警告!',mb_ICONWarning+mb_OK);; edtpwd.Text:=''; edtpwd.SetFocus; i:=i+1; exit; end else

frmmain.StatusBar1.Panels.Items[1].Text:=username;

frmmain.StatusBar1.Panels.Items[3].Text:=dm.ADOQuery1.FieldValues['qx']; if FieldByName('qx').AsString='教职工' then begin

with frmmain do begin

n8.Enabled:=false;

yg.Enabled:=false;

toolbutton1.Enabled:=false; toolbutton6.Enabled:=false; end; end;

if fieldByName('qx').AsString='东北电力的大学学生' then begin

with frmmain do begin

toolbutton1.Enabled:=false; toolbutton5.Enabled:=false; toolbutton6.Enabled:=false; end; end;

if fieldByName('qx').AsString='宿舍管理员' then begin

with frmmain do begin

n11.Enabled:=false; n12.Enabled:=false;

toolbutton1.Enabled:=false; end; end;

frmlogin.close; end; end;

procedure Tfrmlogin.edtpwdKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin

if key=13 then

frmlogin.Button1Click(sender); end; end.

2 主页面代码

procedure Tfrmmain.ToolButton1Click(Sender: TObject); begin

frmaddyonghu:=Tfrmaddyonghu.Create(self); frmaddyonghu.ShowModal; frmaddyonghu.Free; end;

procedure Tfrmmain.FormActivate(Sender: TObject); begin

frmlogin:=Tfrmlogin.Create(self); frmlogin.ShowModal; frmlogin.Free; end;

procedure Tfrmmain.N24Click(Sender: TObject); begin

frmgrccquery:=Tfrmgrccquery.Create(self); frmgrccquery.ShowModal; frmgrccquery.Free; end;

procedure Tfrmmain.N40Click(Sender: TObject); begin

frmgrccquery:=Tfrmgrccquery.Create(self); frmgrccquery.ShowModal; frmgrccquery.Free; end;

procedure Tfrmmain.N39Click(Sender: TObject); var

frmygquery:Tfrmygquery; begin

frmygquery:=Tfrmygquery.Create(self); frmygquery.ShowModal; frmygquery.Free; end;

procedure Tfrmmain.Image1Click(Sender: TObject); begin end; end.

procedure Tfrmmain.ToolButton7Click(Sender: TObject); var

frmxsquey:Tfrmxsquey; begin

frmxsquey:=Tfrmxsquey.Create(self); frmxsquey.TabbedNotebook1.PageIndex:=6; frmxsquey.ShowModal; frmxsquey.Free; end;

procedure Tfrmmain.ToolButton5Click(Sender: TObject); var

frmaddstu:Tfrmaddstu; begin

frmaddstu:=Tfrmaddstu.Create(self); frmaddstu.ShowModal; frmaddstu.Free; end;

procedure Tfrmmain.N41Click(Sender: TObject); var

frmfwquery:Tfrmfwquery; begin

frmfwquery:=Tfrmfwquery.Create(self); frmfwquery.ShowModal; frmfwquery.Free; end;

procedure Tfrmmain.N23Click(Sender: TObject); var

frmgrccdengji:Tfrmgrccdengji; begin

frmgrccdengji:=Tfrmgrccdengji.Create(self); frmgrccdengji.ShowModal; frmgrccdengji.Free; end;

procedure Tfrmmain.ToolButton1Click(Sender: TObject); begin

frmaddyonghu:=Tfrmaddyonghu.Create(self); frmaddyonghu.ShowModal; frmaddyonghu.Free; end;

procedure Tfrmmain.FormActivate(Sender: TObject); begin

frmlogin:=Tfrmlogin.Create(self); frmlogin.ShowModal; frmlogin.Free; end;

procedure Tfrmmain.N24Click(Sender: TObject); begin

frmgrccquery:=Tfrmgrccquery.Create(self);

frmgrccquery.ShowModal; frmgrccquery.Free; end;

procedure Tfrmmain.N40Click(Sender: TObject); begin

frmgrccquery:=Tfrmgrccquery.Create(self); frmgrccquery.ShowModal; frmgrccquery.Free; end;

procedure Tfrmmain.N39Click(Sender: TObject); var

frmygquery:Tfrmygquery; begin

frmygquery:=Tfrmygquery.Create(self); frmygquery.ShowModal; frmygquery.Free; end; end.

3 员工信息登记界面代码

procedure Tfrmygdj.Button1Click(Sender: TObject); var

i:integer; begin

if trim(edtnum.Text)='' then begin

showmessage('请你输入员工号!'); exit; end;

if trim(edtname.Text)='' then begin

showmessage('请你输入姓名!'); edtname.SetFocus; exit; end; try

with dm.ADOQuery1 do begin close;

sql.Clear;

sql.Add('insert into

values(:ygnum,:ygname,:ygsex,:lh,:lc,:zhiwei,:jt,:lxphone)');

worker

parameters.ParamByName('ygnum').Value:=edtnum.Text; parameters.ParamByName('ygname').Value:=edtname.Text; parameters.ParamByName('ygsex').Value:=cmbsex.Text; parameters.ParamByName('lh').Value:=cmblh.Text; parameters.ParamByName('lc').Value:=cmblc.Text; parameters.ParamByName('jt').Value:=edtjt.Text;

parameters.ParamByName('lxphone').Value:=edtphone.Text; execsql;

showmessage('操作成功!'); end; except

showmessage('操作失败!'); end;

with dm.ADOQuery1 do begin close;

sql.Clear;

sql.Add('select * from worker'); open; end;

with dbgrid1 do begin

Columns.Items[0].Title.caption:='员工号'; Columns.Items[1].Title.Caption:='姓名'; Columns.Items[2].Title.caption:='性别'; Columns.Items[3].Title.caption:='楼号'; Columns.Items[4].Title.caption:='楼层'; Columns.Items[5].Title.caption:='职位';

Columns.Items[6].Title.caption:='家庭地址'; Columns.Items[7].Title.caption:='联系电话'; end;

for i:=0 to dbgrid1.FieldCount-1 do dbgrid1.Fields[i].DisplayWidth:=14; end; end.

4 学生信息修改

procedure Tfrmxsquey.Button1Click(Sender: TObject); var

i:integer; begin

if trim(edtnum.Text)='' then

begin

showmessage('请输入学号!');

edtnum.SetFocus;

exit;

end;

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student where stunum=:stunum');

parameters.ParamByName('stunum').Value:=trim(edtnum.Text); open;

end;

dbgrid1.Columns.Items[0].Title.Caption:='学 号';

dbgrid1.Columns.Items[1].Title.Caption:='姓 名';

dbgrid1.Columns.Items[2].Title.Caption:='性 别';

dbgrid1.Columns.Items[3].Title.Caption:='系 别';

dbgrid1.Columns.Items[4].Title.Caption:='班 别';

dbgrid1.Columns.Items[5].Title.Caption:='入学日期';

dbgrid1.Columns.Items[7].Title.Caption:='出生年月';

dbgrid1.Columns.Items[8].Title.Caption:='政治面貌';

dbgrid1.Columns.Items[9].Title.Caption:='联系电话';

dbgrid1.Columns.Items[12].Title.Caption:='家庭地址';

for i:=0 to dbgrid1.FieldCount-1 do

begin

dbgrid1.Fields[i].DisplayWidth:=12;

dbgrid2.Fields[i].DisplayWidth:=12;

dbgrid3.Fields[i].DisplayWidth:=12;

end;

except

showmessage('操作失败!');

end;

end;

procedure Tfrmxsquey.FormCreate(Sender: TObject);

var

i:integer;

begin

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student ');

open;

dbgrid1.DataSource:=dm.DataSource1;

dbgrid2.DataSource:=dm.DataSource1;

dbgrid3.DataSource:=dm.DataSource1;

dbgrid4.DataSource:=dm.DataSource1;

end;

except

end;

dbgrid1.Columns.Items[0].Title.Caption:='学 号';

dbgrid1.Columns.Items[1].Title.Caption:='姓 名';

dbgrid1.Columns.Items[2].Title.Caption:='性 别';

dbgrid1.Columns.Items[3].Title.Caption:='系 别';

dbgrid1.Columns.Items[4].Title.Caption:='班 别';

dbgrid1.Columns.Items[5].Title.Caption:='入学日期';

dbgrid1.Columns.Items[8].Title.Caption:='政治面貌';

dbgrid1.Columns.Items[9].Title.Caption:='联系电话';

dbgrid1.Columns.Items[12].Title.Caption:='家庭地址';

for i:=0 to dbgrid1.FieldCount-1 do

begin

dbgrid1.Fields[i].DisplayWidth:=12;

end;

end;

procedure Tfrmxsquey.Button2Click(Sender: TObject);

var

i:integer;

begin

if trim(edtname.Text)='' then

begin

showmessage('请输入姓名!');

edtname.SetFocus;

exit;

end;

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student where stuname=:stuname');

parameters.ParamByName('stuname').Value:=trim(edtname.Text); open;

end;

dbgrid1.Columns.Items[0].Title.Caption:='学 号';

dbgrid1.Columns.Items[1].Title.Caption:='姓 名';

dbgrid1.Columns.Items[2].Title.Caption:='性 别';

dbgrid1.Columns.Items[3].Title.Caption:='系 别';

dbgrid1.Columns.Items[4].Title.Caption:='班 别';

dbgrid1.Columns.Items[5].Title.Caption:='入学日期';

dbgrid1.Columns.Items[7].Title.Caption:='出生年月';

dbgrid1.Columns.Items[8].Title.Caption:='政治面貌';

dbgrid1.Columns.Items[9].Title.Caption:='联系电话';

for i:=0 to dbgrid2.FieldCount-1 do

begin

dbgrid2.Fields[i].DisplayWidth:=12;

end;

except

showmessage('操作失败!');

end;

end;

procedure Tfrmxsquey.Button3Click(Sender: TObject);

var

i:integer;

begin

if trim(cmbsex.Text)='' then

begin

showmessage('请选着性别!');

exit;

end;

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student where stusex=:stusex');

parameters.ParamByName('stusex').Value:=trim(cmbsex.Text); open;

end;

dbgrid3.Columns.Items[0].Title.Caption:='学 号';

dbgrid3.Columns.Items[1].Title.Caption:='姓 名';

dbgrid3.Columns.Items[2].Title.Caption:='性 别';

dbgrid3.Columns.Items[3].Title.Caption:='系 别';

dbgrid3.Columns.Items[4].Title.Caption:='班 别';

dbgrid3.Columns.Items[5].Title.Caption:='入学日期';

dbgrid3.Columns.Items[6].Title.Caption:='毕业中学';

dbgrid3.Columns.Items[7].Title.Caption:='出生年月';

for i:=0 to dbgrid3.FieldCount-1 do

begin

dbgrid3.Fields[i].DisplayWidth:=12;

end;

except

showmessage('操作失败!');

end;

end;

procedure Tfrmxsquey.Button4Click(Sender: TObject);

var

i:integer;

begin

if trim(cmbdept.Text)='' then

begin

showmessage('请选着系别!');

exit;

end;

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student where dept=:dept');

parameters.ParamByName('dept').Value:=trim(cmbdept.Text); open;

end;

dbgrid4.Columns.Items[0].Title.Caption:='学 号';

dbgrid4.Columns.Items[1].Title.Caption:='姓 名';

dbgrid4.Columns.Items[2].Title.Caption:='性 别';

dbgrid4.Columns.Items[3].Title.Caption:='系 别';

dbgrid4.Columns.Items[4].Title.Caption:='班 别';

dbgrid4.Columns.Items[5].Title.Caption:='入学日期';

for i:=0 to dbgrid4.FieldCount-1 do

begin

dbgrid4.Fields[i].DisplayWidth:=12;

end;

except

showmessage('操作失败!');

end;

end;

procedure Tfrmxsquey.Button5Click(Sender: TObject);

var

i:integer;

begin

if trim(edtaddr.Text)='' then

begin

showmessage('请输入家庭地址!');

edtaddr.SetFocus;

exit;

end;

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student where jt=:jt');

parameters.ParamByName('jt').Value:=trim(edtaddr.Text);

open;

end;

dbgrid5.Columns.Items[0].Title.Caption:='学 号';

dbgrid5.Columns.Items[1].Title.Caption:='姓 名';

dbgrid5.Columns.Items[2].Title.Caption:='性 别';

dbgrid5.Columns.Items[3].Title.Caption:='系 别';

dbgrid5.Columns.Items[4].Title.Caption:='班 别';

dbgrid5.Columns.Items[5].Title.Caption:='入学日期';

dbgrid5.Columns.Items[6].Title.Caption:='毕业中学';

dbgrid5.Columns.Items[7].Title.Caption:='出生年月';

dbgrid5.Columns.Items[8].Title.Caption:='政治面貌';

dbgrid5.Columns.Items[9].Title.Caption:='联系电话';

for i:=0 to dbgrid5.FieldCount-1 do

begin

dbgrid5.Fields[i].DisplayWidth:=12;

end;

except

showmessage('操作失败!');

end;

end;

procedure Tfrmxsquey.Button6Click(Sender: TObject);

var

i:integer;

begin

if trim(edtbanji.Text)='' then

begin

showmessage('请输入班级!');

edtbanji.SetFocus;

exit;

end;

try

with dm.ADOQuery1 do

begin

close;

sql.Clear;

sql.Add('select * from student where banji=:banji');

parameters.ParamByName('banji').Value:=trim(edtbanji.Text); open;

end;

dbgrid6.Columns.Items[0].Title.Caption:='学 号';

dbgrid6.Columns.Items[1].Title.Caption:='姓 名';

dbgrid6.Columns.Items[2].Title.Caption:='性 别';

dbgrid6.Columns.Items[3].Title.Caption:='系 别';

dbgrid6.Columns.Items[4].Title.Caption:='班 别';

dbgrid6.Columns.Items[5].Title.Caption:='入学日期';

dbgrid6.Columns.Items[6].Title.Caption:='毕业中学';

dbgrid6.Columns.Items[7].Title.Caption:='出生年月';

dbgrid6.Columns.Items[8].Title.Caption:='政治面貌';

dbgrid6.Columns.Items[9].Title.Caption:='联系电话';

for i:=0 to dbgrid6.FieldCount-1 do

begin

dbgrid6.Fields[i].DisplayWidth:=12;

end;

except

showmessage('操作失败!');

end;

end;

procedure Tfrmxsquey.edtnumKeyPress(Sender: TObject; var Key: Char); begin

if Not(Key in ['0'..'9',Char(VK_BACK),Char(VK_RETURN)]) then begin

Key:=#0;

end;

end;

end.

第八章 课程设计总结

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的

问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。在学习的语言中,感觉delphi 简易易学,不仅适合界面设计更适合数据库的设计开发,在课程设计中遇到的问题,今后一定会解决的,争取更好的学以致用!

由于能力和知识的限制,有些只是把界面设计了出来,具体的功能还不能实现,例如本系统中住宿情况和信息管理,随着知识的扩充,我会逐渐完善本系统。


相关文章

  • 寝室设计大赛策划书
  • 桂林电子科技大学信息科技学院 第六届"新生杯"寝室设计大赛 策 划 书 主办单位:共青团桂林电子科技大学信息科技学院 协办单位:桂林电子科技大学信息科技学院学生会生活部 一. 活动背景: 新的一个学期开始,同学之间还缺少 ...查看


  • 辅导员述职报告
  • 工作述职报告 各位领导.各位老师: 很高兴有这样一个机会和大家一起交流.分享.04年夏天,我从一个校园走进另一个校园,有兴奋也有迷茫,兴奋的是我终于实现了自己的梦想,成为一名大学的教师:迷茫的是自己在学生时代对大学教师,特别是辅导员工作就有 ...查看


  • 常州日照规范
  • 常州市市区建设项目日照分析管理暂行规定 常州市人民政府办公室文件 常政办发[2011]5号 市政府办公室关于转发市规划局<常州市市区建设项目日照分析管理暂行规定>的通知 各辖市.区人民政府,市各委办局,市各公司.直属单位: 经市 ...查看


  • 寝室文化节策划书
  • 寝室设计大赛 1. 活动目的: 为了加强公寓学生精神文明建设,进一步繁荣南山校区学生公寓文化.提升宿舍凝聚力以及宿舍文化层次,促进大学生文明行为的养成,倡导和树立健康.积极.向上.活跃的学生公寓氛围,营造轻松温馨的学习生活环境,浓厚公寓文化 ...查看


  • 学生公寓管理情况自查报告_调研报告
  • 一.学生公寓住宿安排情况 ㈠ 基本情况 学生公寓分东.西两区,共有24栋,总面积193,610m2,总床位数2247xxxx ,除去辅导员等用房,可住学生22,29xxxx ,现已住学生21,53xxxx, 入住率为96.5xxxx ,全校 ...查看


  • 大学宿管阿姨述职报告
  • 平凡的岗位 不平凡的心 我叫XXX ,中共党员,大专学历,于2004年来到XXXXX 学院工作,一直从事的是东区七栋宿舍管理工作,已经十年了.在这十年里,我和学生一起成长,在她们面前我扮演着不同的角色:家人.朋友.老师,在这些角色中我也收获 ...查看


  • 公寓文化节策划书②
  • 安康学院第二届公寓文化节具体活动内容 一.前期宣传工作 1.时间:待定 2.地点: 各宿舍,餐厅前. 3.工作组:宣传部(负责人:部长 ) 4.工作任务:做好第二届公寓文化节宣传动员工作 二.第二届公寓文化节开幕式暨" 公寓&qu ...查看


  • 毕业论文(设计)-做好高校学生安全稳定工作方法初探
  • 做好高校学生安全稳定工作方法初探 (黄明蕾 湖北省社会主义学院 430062 ) 摘 要:进入新世纪以后,我国高等教育得到快速发展,与此同时教育的规模.质量与学生的安全稳定等问题也引起了社会的广泛关注.本文结合工作实际,分析学生安全稳定工作 ...查看


  • 生卫部个人工作计划
  • 篇一:生卫部工作计划 生卫部2010--2011年度学年工作计划 转眼间新的学期开始了,在过去一年里我们外国语学院生卫部在校团委和外国语学院团总支的指导和帮助下很好地与学生会其他各部门团结协作,成功地完成了分配给的各项工作,并且顺利举办了丰 ...查看


热门内容