1、第四章 数据流程分析4.1、数据流程图 根据系统需求分析,得出社区管理系统第0层数据流程图,社区工作人员录入居民信息,社区工作计划,年总目标等信息,系统存储居民基本情况等信息,社区主任可以查询任一居民的信息和居民参加文体活动等等,并且可以统计入某一居民参加活动的次数,并以此来鉴定优秀市民。图4-1 数据流程图4.2、数据字典 (1)数据流的描述数据流编号:S001数据流名称: 用户信息 简述:描述用户个人基本信息数据流来源:普通用户、管理员数据流去向:用户信息判断数据流组成: 编号+姓名+身份等数据流量:600/天高峰流量:1000/天 S002 管理员管理管理员修改居民信息居民信息判断居民编
2、号+姓名+身份等 数据流量:100/天 500/天(2)处理逻辑的描述 处理逻辑编号:P001处理逻辑名称:判断居民信息的合法性输入的数据流:档案信息处理描述: 根据居民提供的档案信息,验证居民信息,验证通过则继续下移处理查看社区内信息,验证不通过则返回给居民信息指明为非法居民。输出的数据流: D001社区信息、D002无效提示信息处理频率: 10次/天P002社区查询查询居民所要查找的社区信息 D001社区信息根据居民提供的档案信息,到社区系统中查找是否有相关社区信息,有则进行查阅处理,如没有则返回居民无所查信息。 D001社区信息+D003无所查信息 1000次/天(3)数据存储的描述数据
3、存储编号:F001数据存储名称:居民信息居民的基本信息数据存储组成:身份证+姓名+志愿者+健康状况关键字:身份证号相关联的处理:F002社区存储信息保存社区信息居民档案+社区文化+社区概况+志愿者信息+民政信息P002,P003,P005 (4)外部实体的描述外部实体编号:外部实体名称:简 述:查询社区信息的人D002,D003D001第五章 概念模型设计概念模型图:图5-1概念模型图第六章 逻辑模型设计和优化将概念模型转化逻辑模型,如图6-1所示。图6-1逻辑模型图第七章 物理设计和实施7.1 创建居民基本信息表居民基本信息表的结构如表1所示。表1 居民基本信息表列名 数据类型 长度 容许空
4、 身份证号 char 20 not null工作编号 int 4 not null残疾等级 int 4 null志愿者 char 20 null健康状况 char 2 null姓名 char 10 null创建居民基本信息表的SQL语句如下:create table 居民 ( 身份证号 char(20) not null, 工作编号 int not null, 残疾等级 int null, 志愿者 char(20) null, 健康状况 char(2) null, 姓名 char(10) null,constraint PK_居民 primary key nonclustered (工作编号)
5、7.2创建下岗培训基本信息表下岗培训基本信息表的结构如表2所示。表2 下岗培训基本信息表培训类型号 int 4 not null内容 char 1000 null意向 char 50 null创建下岗培训基本信息表的SQL语句如下:create table 下岗培训 ( 培训类型号 int not null, 内容 char(1000) null, 意向 char(50) null, constraint PK_下岗培训 primary key nonclustered (培训类型号)7.3 创建培训信息表培训信息表的结构如表3所示。表3 培训信息表身份证号 int 4 not null培训时
6、间 int 4 not null时间 datetime 8 null 创建培训信息表的SQL语句如下:create table 培训 ( 身份证号 int not null, 时间 datetime null, constraint PK_培训 primary key (身份证号, 培训类型号)7.4创建文体活动信息表文体活动信息表的结构如表4所示。表4 文体活动信息表时间 datetime 8 null活动代号 int 4 not null工作编号 int 4 null创建文体活动信息表的SQL语句如下:create table 文体活动 ( 活动代号 int not null, 工作编号
7、int null, constraint PK_文体活动 primary key nonclustered (活动代号)7.5 创建残疾人信息表残疾人信息表的结构如表5所示。表5 残疾人信息表残疾证号 int 4 not null工作编号 int 4 null保障金 int 4 null残疾等级 int 4 null创建残疾人信息表的SQL语句如下:create table 残疾人 ( 残疾证号 int not null, 保障金 int null, constraint PK_残疾人 primary key nonclustered (残疾证号)7.6创建民事纠纷基本信息表民事纠纷基本信息表
8、的结构如表6所示。表6 民事纠纷基本信息表处理结果 char 100 null事务编号 int 4 not null创建民事纠纷基本信息表的SQL语句如下:create table 民事纠纷 ( 处理结果 char(100) null, 事务编号 int not null, constraint PK_民事纠纷 primary key nonclustered (事务编号)7.7创建社区概况信息表社区概况信息表的结构如表7所示。表7 社区概况信息表社区名称 char 10 null社区编号 int 4 not null社区文化 char 1000 null创建社区概况信息表的SQL语句如下:c
9、reate table 社区概况 ( 社区名称 char(10) null, 社区编号 int not null, 社区文化 char(1000) null, constraint PK_社区概况 primary key nonclustered (社区编号)7.8创建普通用户表普通用户表的结构如表8所示。表8 普通用户表 登录名 char(10) 10 not null, 身份证号 char(10) 10 not null, 密码 char(10) 10 not null,创建普通用户表的SQL语句如下:create table 普通用户 ( 登录名 char(10) not null, 身
10、份证号 char(10) not null, 密码 char(10) not null, constraint PK_普通用户 primary key nonclustered (登录名)7.9创建管理员用户表管理员用户表的结构如表9所示。表9 管理员用户表创建管理员用户表的SQL语句如下:create table 管理员用户 ( constraint PK_管理员用户 primary key nonclustered (登录名)第八章 系统测试8.1登录界面登录界面如图8-1所示。图8-1登陆界面对应代码: private void btnLogin_Click(object sender,
11、 EventArgs e) try if (txtUserName.Text = ) /判断用户是否输入了用户名 MessageBox.Show(用户名不能为空); else if (txtPwd.Text = 密码不能为空/判断用户是否输密码 SqlConnection con = DBCon.createCon(); /创建数据库连接 con.Open(); /SqlCommand cmd = new SqlCommand(select count(*) from 普通用户 where 登录名= + txtUserName.Text + and 密码= + txtPwd.Text + ,
12、con); /int i = Convert.ToInt32(cmd.ExecuteScalar(); /获取返回值 /if (i 0) / if (cmbLogin.Text = 请选择登录界面 cmbLogin.Focus(); return; else if (cmbLogin.Text = 普通用户使用界面 SqlCommand cmd = new SqlCommand( int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i frmMain main = new frmMain(); main.adminname = txtUserNam
13、e.Text; t = txtUserName.Text; main.admintime = DateTime.Now.ToShortDateString(); main.Show(); this.Hide(); MessageBox.Show(用户名密码错误! SqlCommand cmd = new SqlCommand(select count(*) from 管理员用户 where 登录名= ptMain ptmain = new ptMain(); ptmain.adminname = txtUserName.Text; ptmain.Show(); / /else / Messag
14、eBox.Show(用户名或者密码错误! /弹出提示 catch (Exception ex) MessageBox.Show(ex.ToString(); private void btnCancel_Click(object sender, EventArgs e) this.Close(); 8.2系统主界面的实现系统主界面如图8-2所示。图8-2系统主界面对应代码: private void ptMain_Load(object sender, EventArgs e) toolStripStatusLabel2.Text = adminname; toolStripStatusLab
15、el5.Text = DateTime.Now.ToString(); private bool checkChildFrmExist(string childFrmName) foreach (Form childFrm in this.MdiChildren) if (childFrm.Name = childFrmName) /用子窗体的Name进行判断,如果存在则将他激活 if (childFrm.WindowState = FormWindowState.Minimized) childFrm.WindowState = FormWindowState.Normal; childFr
16、m.Activate(); return true; return false; private void toolStripMenuItem1_Click(object sender, EventArgs e) if (MessageBox.Show(确定退出本系统吗?, 提示, MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) = DialogResult.OK) this.Close(); private void 居民档案ToolStripMenuItem_Click(object sender, EventArgs e) /通过
17、窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个 if (this.checkChildFrmExist(居民档案) = true) 居民档案 readerinfo = new 居民档案(); readerinfo.MdiParent = this; readerinfo.Show(); private void 居民信息添加删除ToolStripMenuItem_Click(object sender, EventArgs e)居民信息添加或删除 居民信息添加或删除 bookinfo = new 居民信息添加或删除(); bookinfo.MdiParent = this; b
18、ookinfo.Show(); private void 社会文体信息修改ToolStripMenuItem_Click(object sender, EventArgs e)社会文体信息修改 社会文体信息修改 bookoverdate = new 社会文体信息修改(); bookoverdate.MdiParent = this; bookoverdate.Show(); private void 民事纠纷信息修改ToolStripMenuItem_Click(object sender, EventArgs e)民事纠纷信息修改 民事纠纷信息修改 bookoverdate = new 民事
19、纠纷信息修改(); private void 居民信息添加ToolStripMenuItem_Click(object sender, EventArgs e) 居民信息添加或删除 f = new 居民信息添加或删除(); f.MdiParent = this; f.Show(); private void 社区文体ToolStripMenuItem_Click(object sender, EventArgs e) 社会文体信息修改 f = new 社会文体信息修改(); private void 民事纠纷ToolStripMenuItem_Click(object sender, Even
20、tArgs e) 民事纠纷信息修改 f = new 民事纠纷信息修改(); private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e) 管理员修改密码 f = new 管理员修改密码(); f.name = adminname; private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e) /退出系统 8.3居民信息居民信息界面如图8-3所示。图8-3居民信息界面 private void 查询_Click(object sender, Ev
21、entArgs e) (txt1.Text = & txt2.Text = if (txt1.Text != ) SqlConnection con = DBCon.createCon(); SqlDataAdapter sda = new SqlDataAdapter(select 身份证号 as 身份证号,工作编号 as 工作编号,残疾等级 as 残疾等级,志愿者 as 志愿者,健康状况 as 健康状况,姓名 as 姓名 from 居民档案 where 身份证号 like + txt1.Text + % DataSet ds = new DataSet(); sda.Fill(ds, table this.dataGridView1.DataSource = ds.Tables0.DefaultView; try /有时找不到匹配的记录,有异常 show(); catch (Exception ex) /
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1