课程设计报告
社区管理系统的设计与实现
课 程 《数据库原理及应用》 班 级 姓 名 学 号 指导教师
时间: 2012 年 5 月 21 日 至 2012 年 5 月 25 日
1 / 33
社区管理系统的设计与实现
指导教师对课程设计(论文)的评语(工作态度、任务完成情况、能力水平、设计说明书(论文)的撰写和图纸质量等):
成绩
指导教师签字 年 月 日
2 / 33
社区管理系统的设计与实现
目 录
第一章 开发背景 .......................................................................................................... 4 第二章 功能描述 .......................................................................................................... 5 第三章 业务流程分析 .................................................................................................. 6 第四章 数据流程分析 .................................................................................................. 7 4.1 数据流程图 ..................................................................................................... 7 4.2 数据字典 ......................................................................................................... 7 第五章 概念模型设计 .................................................................................................. 9 第六章 逻辑模型设计和优化 .................................................................................... 10 第七章 物理设计和实施 ............................................................................................ 11 第八章 系统测试 ........................................................................................................ 14 第九章 课程设计心得体会 ........................................................................................ 31 参考文献 ...................................................................................................................................... 32
3 / 33
社区管理系统的设计与实现
第一章 开发背景
随着信息技术的飞速发展,特别是网络和数据库技术的发展,计算机已经成为当今处理信息的主要工具。数据库技术是计算机应用技术中的一个重要组成部分,对于大量的数据,使用数据库来存储管理将比通过文件来存储管理更高效。数据库技术在经过几代变革以后,出现了以关系数据库产品为主流的数据库时代。人们对于现实中的各种事物的管理已经越来越依靠计算机进行智能化管理,而不是靠手工输入进行统计管理。
其次,当代社会,随着社会、科技、文化和经济的发展,特别是计算机网络技术和通信技术的大发 展,人们在随时随地,都可以知道远在千里的信息。但是,现在许多居民小区的信息并没有在网上公布,如果,远在千里之外的人要了解这个居民小区的情况,则很困难。因此,在这种状况下,提供一种网络社区服务与管理系统对一个社区进行管理,使任何人在任何时候任何地点,都可以了解到小区的信息,并且使人们可以在这个平台上进行交流是势在必行。
4 / 33
社区管理系统的设计与实现
第二章 功能描述
社区管理部门希望借助社区管理系统实现以下功能: (1)基本情况管理
包括社区概况、居民档案管理等; (2)社区服务管理
提供居民健康档案,社区文体、志愿者信息管理和下岗职工管理(包括下岗人员档案、上岗培训记录和生活保证金发放等)功能;
(3)民政工作管理
提供低保管理、残疾人管理、社区团体管理等功能; (4)综合治理
包括治安管理和纠纷调解记录管 (5)系统维护
用户管理、系统设置、更改密码等功能。
5 / 33
社区管理系统的设计与实现
第三章 业务流程分析
先根据系统要求实现的功能进行基本分析,社区管理系统分为四个管理子系统,分别基本信息服务管理、社区服务管理子系统、民政工作管理管理和综合治理,然后找出系统实现的顺序,逐步进行分析,最终分析得出业务流程图,业务流程图如图:
下岗资服务居民社区培训低保资料居民资料发保障金下岗工人残疾人
图3-1 业务流程图
6 / 33
社区管理系统的设计与实现
第四章 数据流程分析
4.1、数据流程图
根据系统需求分析,得出社区管理系统第0层数据流程图,社区工作人员录入居民信息,社区工作计划,年总目标等信息,系统存储居民基本情况等信息,社区主任可以查询任一居民的信息和居民参加文体活动等等,并且可以统计入某一居民参加活动的次数,并以此来鉴定优秀市民。
居民档案 查询条件 残疾人管理 居民信息 下岗职工 社区社区管理系统 治安管理 纠纷调解 低保管理 志愿者管理 活动管理
图4-1 数据流程图
近期工作计划 统计条件 统计结果 查询结果 居委会
4.2、数据字典
(1)数据流的描述
数据流编号:S001
数据流名称: 用户信息
简述:描述用户个人基本信息 数据流来源:普通用户、管理员 数据流去向:用户信息判断
数据流组成: 编号+姓名+身份等 数据流量:600/天 高峰流量:1000/天
数据流编号: S002
数据流名称: 管理员管理
简述:管理员修改居民信息 数据流来源:居民信息判断 数据流去向:居民
数据流组成:编号+姓名+身份等 数据流量:100/天 高峰流量:500/天 (2)处理逻辑的描述
7 / 33
社区管理系统的设计与实现
处理逻辑编号:P001
处理逻辑名称:居民信息判断
简述:判断居民信息的合法性 输入的数据流:档案信息
处理描述: 根据居民提供的档案信息,验证居民信息,验证通过则继续下移处理查
看社区内信息,验证不通过则返回给居民信息指明为非法居民。
输出的数据流: D001社区信息、D002无效提示信息
处理频率: 10次/天
处理逻辑编号:P002 处理逻辑名称:社区查询
简述:查询居民所要查找的社区信息 输入的数据流:D001社区信息
处理描述:根据居民提供的档案信息,到社区系统中查找是否有相关社区信息,有则
进行查阅处理,如没有则返回居民无所查信息。
输出的数据流: D001社区信息+D003无所查信息
处理频率: 1000次/天
(3)数据存储的描述
数据存储编号:F001 数据存储名称:居民信息
简述:居民的基本信息
数据存储组成:身份证+姓名+志愿者+健康状况
关键字:身份证号 相关联的处理:P001
数据存储编号:F002
数据存储名称:社区存储信息 简述:保存社区信息
数据存储组成:居民档案+社区文化+社区概况+志愿者信息+民政信息
关键字:
相关联的处理:P002,P003,P005 (4)外部实体的描述
外部实体编号:S001 外部实体名称:居民
简 述:查询社区信息的人 输入的数据流:D002,D003 输出的数据流:D001
第五章 概念模型设计
概念模型图:
8 / 33
社区管理系统的设计与实现
图5-1概念模型图
第六章 逻辑模型设计和优化
将概念模型转化逻辑模型,如图6-1所示。
9 / 33
社区管理系统的设计与实现
图6-1逻辑模型图
10 / 33
社区管理系统的设计与实现
第七章 物理设计和实施
7.1 创建居民基本信息表
居民基本信息表的结构如表1所示。
表1 居民基本信息表
列名 数据类型 长度 容许空 身份证号 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 (工作编号))
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 培训时间 int 4 not null 时间 datetime 8 null 创建培训信息表的SQL语句如下:
11 / 33
社区管理系统的设计与实现
create table 培训 (
身份证号 int not null, 培训类型号 int not null, 时间 datetime null, constraint PK_培训 primary key (身份证号, 培训类型号) )
7.4创建文体活动信息表
文体活动信息表的结构如表4所示。
表4 文体活动信息表
列名 数据类型 长度 容许空 时间 datetime 8 null 内容 char 1000 null 活动代号 int 4 not null 工作编号 int 4 null 创建文体活动信息表的SQL语句如下: create table 文体活动 (
时间 datetime null, 内容 char(1000) null, 活动代号 int not null, 工作编号 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, 保障金 int null, 残疾等级 int null,
constraint PK_残疾人 primary key nonclustered (残疾证号) )
7.6创建民事纠纷基本信息表
民事纠纷基本信息表的结构如表6所示。
表6 民事纠纷基本信息表 列名 数据类型 长度 容许空 时间 datetime 8 null 处理结果 char 100 null
12 / 33
社区管理系统的设计与实现
事务编号 int 4 not null 工作编号 int 4 null 创建民事纠纷基本信息表的SQL语句如下: create table 民事纠纷 (
时间 datetime null, 处理结果 char(100) null, 事务编号 int not null, 工作编号 int null,
constraint PK_民事纠纷 primary key nonclustered (事务编号) )
7.7创建社区概况信息表
社区概况信息表的结构如表7所示。
表7 社区概况信息表
列名 数据类型 长度 容许空 社区名称 char 10 null 社区编号 int 4 not null 社区文化 char 1000 null 创建社区概况信息表的SQL语句如下: create 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, 身份证号 char(10) not null, 密码 char(10) not null, constraint PK_普通用户 primary key nonclustered (登录名) )
7.9创建管理员用户表
管理员用户表的结构如表9所示。
表9 管理员用户表
列名 数据类型 长度 容许空 登录名 char(10) 10 not null, 身份证号 char(10) 10 not null,
13 / 33
社区管理系统的设计与实现
密码 char(10) 10 not null, 创建管理员用户表的SQL语句如下: create table 管理员用户 (
登录名 char(10) not null, 身份证号 char(10) not null, 密码 char(10) not null,
constraint PK_管理员用户 primary key nonclustered (登录名) )
8.1登录界面
第八章 系统测试
14 / 33
社区管理系统的设计与实现
登录界面如图8-1所示。
图8-1登陆界面
对应代码:
private void btnLogin_Click(object sender, EventArgs e)
{ try {
if (txtUserName.Text == \"\") //判断用户是否输入了用户名 {
MessageBox.Show(\"用户名不能为空\"); } else {
if (txtPwd.Text == \"\") {
MessageBox.Show(\"密码不能为空\");//判断用户是否输密码 } else
{ SqlConnection con = DBCon.createCon(); //创建数据库连接 con.Open();
//SqlCommand cmd = new SqlCommand(\"select count(*) from 普通用户 where 登录名='\" + txtUserName.Text + \"' and 密码='\" + txtPwd.Text + \"'\
//int i = Convert.ToInt32(cmd.ExecuteScalar()); //获取返回值 //if (i > 0)
15 / 33
社区管理系统的设计与实现
//{
if (cmbLogin.Text == \"\") {
MessageBox.Show(\"请选择登录界面\"); cmbLogin.Focus(); return; }
else if (cmbLogin.Text == \"普通用户使用界面\")
{ SqlCommand cmd = new SqlCommand(\"select count(*) from 普通用户 where 登录名='\" + txtUserName.Text + \"' and 密码='\" + txtPwd.Text + \"'\ int i = Convert.ToInt32(cmd.ExecuteScalar()); if (i > 0)
{ frmMain main = new frmMain(); main.adminname = txtUserName.Text; t = txtUserName.Text;
main.admintime = DateTime.Now.ToShortDateString(); main.Show(); this.Hide(); } else
{ MessageBox.Show(\"用户名密码错误!\"); } } else
{SqlCommand cmd = new SqlCommand(\"select count(*) from 管理员用户 where 登录名='\" + txtUserName.Text + \"' and 密码='\" + txtPwd.Text + \"'\ int i = Convert.ToInt32(cmd.ExecuteScalar()); if (i > 0)
{ptMain ptmain = new ptMain();
ptmain.adminname = txtUserName.Text; ptmain.Show(); this.Hide(); } else
{ MessageBox.Show(\"用户名密码错误!\"); }
16 / 33
社区管理系统的设计与实现
} // } //else
// { MessageBox.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;
toolStripStatusLabel5.Text = DateTime.Now.ToString(); }
private bool checkChildFrmExist(string childFrmName) {
17 / 33
社区管理系统的设计与实现
foreach (Form childFrm in this.MdiChildren) {
if (childFrm.Name == childFrmName) //用子窗体的Name进行判断,如果存在则将他激活 {
if (childFrm.WindowState == FormWindowState.Minimized) childFrm.WindowState = FormWindowState.Normal; childFrm.Activate(); return true; } }
return false; }
private void toolStripMenuItem1_Click(object sender, EventArgs e) {
if (MessageBox.Show(\"确定退出本系统吗?\提示\MessageBoxIcon.Asterisk) == DialogResult.OK) {
this.Close(); } } }
private void 居民档案ToolStripMenuItem_Click(object sender, EventArgs e) {
//通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个 if (this.checkChildFrmExist(\"居民档案\") == true) {
return; }
居民档案 readerinfo = new 居民档案(); readerinfo.MdiParent = this; readerinfo.Show(); }
private void 居民信息添加删除ToolStripMenuItem_Click(object sender, EventArgs e) {
//通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个 if (this.checkChildFrmExist(\"居民信息添加或删除\") == true) {
return; }
居民信息添加或删除 bookinfo = new 居民信息添加或删除(); bookinfo.MdiParent = this; bookinfo.Show(); }
private void 社会文体信息修改ToolStripMenuItem_Click(object sender, EventArgs e) {
18 / 33
社区管理系统的设计与实现
//通过窗体名称查询该窗体是否已经存在,如存在则显示,否则就新创建一个 if (this.checkChildFrmExist(\"社会文体信息修改\") == true) {
return; }
社会文体信息修改 bookoverdate = new 社会文体信息修改(); bookoverdate.MdiParent = this; bookoverdate.Show(); }
private void 民事纠纷信息修改ToolStripMenuItem_Click(object sender, EventArgs e) {
if (this.checkChildFrmExist(\"民事纠纷信息修改\") == true) {
return; }
民事纠纷信息修改 bookoverdate = new 民事纠纷信息修改(); bookoverdate.MdiParent = this; bookoverdate.Show(); }
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 社会文体信息修改(); f.MdiParent = this; f.Show(); }
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 管理员修改密码(); f.name = adminname; f.MdiParent = this; f.Show();
19 / 33
社区管理系统的设计与实现
} }}
private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e) {
if (MessageBox.Show(\"确定退出本系统吗?\提示\MessageBoxIcon.Asterisk) == DialogResult.OK) {
this.Close(); //退出系统 } }
8.3居民信息
居民信息界面如图8-3所示。
图8-3居民信息界面
对应代码:
private void 查询_Click(object sender, EventArgs e) { (txt1.Text == \"\" && txt2.Text == \"\") {
return; }
if (txt1.Text != \"\" && txt2.Text == \"\") { SqlConnection con = DBCon.createCon();
SqlDataAdapter sda = new SqlDataAdapter(\"select 身份证号 as 身份证号,工作编号 as 工作编号,残疾等级 as 残疾等级,志愿者 as 志愿者,健康状况 as 健康状况,姓名 as 姓名 from 居民档案 where 身份证号 like'\" + txt1.Text + \"%'\
20 / 33
社区管理系统的设计与实现
DataSet ds = new DataSet(); sda.Fill(ds, \"table\");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
try //有时找不到匹配的记录,有异常 {
show(); }
catch (Exception ex) //对异常进行处理 {MessageBox.Show(\"没有找到匹配的记录\"); return; } }
if (txt1.Text == \"\" && txt2.Text != \"\") { SqlConnection con = DBCon.createCon();
SqlDataAdapter sda = new SqlDataAdapter(\"select 身份证号 as 身份证号,工作编号 as 工作编号,残疾等级 as 残疾等级,志愿者 as 志愿者,健康状况 as 健康状况,姓名 as 姓名 from 居民档案 where 姓名 like'\" + txt2.Text + \"%'\ DataSet ds = new DataSet(); sda.Fill(ds, \"table\");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
try //有时找不到匹配的记录,有异常 {
show(); }
catch (Exception ex) //对异常进行处理 {
MessageBox.Show(\"没有找到匹配的记录\"); return; } }
if (txt1.Text != \"\" && txt2.Text != \"\") //当读者ID不为空,姓名不为空时,进行查找相应匹配的记录 {
SqlConnection con = DBCon.createCon();
SqlDataAdapter sda = new SqlDataAdapter(\"select 身份证号 as 身份证号,工作编号 as 工作编号,残疾等级 as 残疾等级,志愿者 as 志愿者,健康状况 as 健康状况,姓名 as 姓名 from 居民档案 where 身份证号 like'\" + txt1.Text + \"%' and 姓名 like'\" + txt2.Text + \"%'\ DataSet ds = new DataSet(); sda.Fill(ds, \"table\");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
21 / 33
社区管理系统的设计与实现
try //有时找不到匹配的记录,有异常 {
show(); }
catch (Exception ex) //对异常进行处理 { MessageBox.Show(\"没有找到匹配的记录\"); return; } } } private void 退出_Click(object sender, EventArgs e) {
if (MessageBox.Show(\"确定退出读者信息维护吗?\提示\MessageBoxIcon.Asterisk) == DialogResult.OK) { this.Close(); } } }}
8.4 下岗职工查询
下岗职工查询界面如图8-4所示。
图8-4下岗职工界面
对应代码:
private void show()
22 / 33
社区管理系统的设计与实现
{ try {
this.textBox1.Text = this.dataGridView1.CurrentRow.Cells[0].Value.ToString(); this.textBox2.Text = this.dataGridView1.CurrentRow.Cells[1].Value.ToString(); this.textBox3.Text = this.dataGridView1.CurrentRow.Cells[2].Value.ToString(); }
catch (Exception ex) {
MessageBox.Show(\"不能对列进行排序\"); } }
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) {
show(); }
private void 居民档案_Load(object sender, EventArgs e) {
SqlConnection con = DBCon.createCon();
SqlDataAdapter sda = new SqlDataAdapter(\"select 身份证号 as 身份证号,培训内容 as 培训内容,保障金
as 保障金 FROM 下岗职工 \
DataSet ds = new DataSet(); sda.Fill(ds, \"下岗职工\");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView; show(); }
private void button1_Click(object sender, EventArgs e) {
if (txt1.Text == \"\" && txt2.Text == \"\") { return; }
if (txt1.Text != \"\" && txt2.Text == \"\") //当读者ID不为空,姓名为空时,进行查找相应匹配的记录 {
SqlConnection con = DBCon.createCon();
SqlDataAdapter sda = new SqlDataAdapter(\"select 身份证号 as 身份证号,培训内容 as 培训内容,保障金
as 保障金 FROM 下岗职工 where 身份证号 like'\" + txt1.Text + \"%'\
DataSet ds = new DataSet(); sda.Fill(ds, \"table\");
23 / 33
社区管理系统的设计与实现
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
try //有时找不到匹配的记录,有异常 {
show(); }
catch (Exception ex) //对异常进行处理 {
MessageBox.Show(\"没有找到匹配的记录\"); return; } }
if (txt1.Text == \"\" && txt2.Text != \"\") //当读者ID为空,姓名不为空时,进行查找相应匹配的记录 {
SqlConnection con = DBCon.createCon();
SqlDataAdapter sda = new SqlDataAdapter(\"select 身份证号 as 身份证号,培训内容 as 培训内容,保障金
as 保障金 FROM 下岗职工 where 培训内容 like'\" + txt2.Text + \"%'\
DataSet ds = new DataSet(); sda.Fill(ds, \"table\");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
try //有时找不到匹配的记录,有异常 {
show(); }
catch (Exception ex) //对异常进行处理 {
MessageBox.Show(\"没有找到匹配的记录\"); return; } }
if (txt1.Text != \"\" && txt2.Text != \"\") //当读者ID不为空,姓名不为空时,进行查找相应匹配的记录 {
SqlConnection con = DBCon.createCon();
SqlDataAdapter sda = new SqlDataAdapter(\"select 身份证号 as 身份证号,培训内容 as 培训内容,保障金
as 保障金 FROM 下岗职工 where 身份证号 like'\" + txt1.Text + \"%' and 培训内容
like'\" + txt2.Text + \"%'\
DataSet ds = new DataSet();
24 / 33
社区管理系统的设计与实现
sda.Fill(ds, \"table\");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
try //有时找不到匹配的记录,有异常 {
show(); }
catch (Exception ex) //对异常进行处理 {
MessageBox.Show(\"没有找到匹配的记录\"); return; } } }
8.5管理员修改密码
管理员修改密码界面如图8-5所示。
图8-5管理员修改密码界面
对应代码:
namespace 社区登录系统
{ public partial class 管理员修改密码 : Form { public 管理员修改密码()
{ InitializeComponent(); }
25 / 33
社区管理系统的设计与实现
DBOperate operate = new DBOperate(); public string name;
private void button1_Click_1(object sender, EventArgs e)
{ if (textBox2.Text.Trim() == \"\" || textBox3.Text.Trim() == \"\" || textBox1.Text.Trim() == \"\") {
MessageBox.Show(\"请将数据填写完整\\"提示\MessageBoxButtons.OK, MessageBoxIcon.Information); return; }
else { string str = \"select count(*) from 管理员用户 where 登录名='\" + name + \"' and 密码='\" + this.textBox1.Text.Trim() + \"'\"; int i = operate.HumanNum(str); if (i > 0)
{ if (textBox2.Text.Trim() != textBox3.Text.Trim())
{ MessageBox.Show(\"两次密码不一致\\"提示\MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else {
string updatestr = \"update 管理员用户 set 密码='\" + textBox3.Text.Trim() + \"' where 登录名='\" + name + \"'\";
operate.OperateData(updatestr);
MessageBox.Show(\"密码修改成功\\"提示\MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Close(); } } else {
MessageBox.Show(\"旧密码错误\\"提示\MessageBoxButtons.OK, MessageBoxIcon.Information);
return; } } } private void button2_Click(object sender, EventArgs e) { this.Close(); } }}
8.6社区文体
社区文体界面如图8-6所示。
26 / 33
社区管理系统的设计与实现
图8-6社区文体界面
对应代码:
private void 查询_Click(object sender, EventArgs e) { if (txt1.Text == \"\" && txt2.Text == \"\") { return; }
if (txt1.Text != \"\" && txt2.Text == \"\") //当读者ID不为空,姓名为空时,进行查找相应匹配的记录
{ SqlConnection con = DBCon.createCon();
SqlDataAdapter sda = new SqlDataAdapter(\"select 内容 as 内容,活动代号 as 活动代号,时间 as 时间 from 社区文体 where 内容 like'\" + txt1.Text + \"%'\ DataSet ds = new DataSet(); sda.Fill(ds, \"table\");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
try //有时找不到匹配的记录,有异常 { show(); }
catch (Exception ex) //对异常进行处理 { MessageBox.Show(\"没有找到匹配的记录\"); return; } }
27 / 33
社区管理系统的设计与实现
if (txt1.Text == \"\" && txt2.Text != \"\") //当读者ID为空,姓名不为空时,进行查找相应匹配的记录
{ SqlConnection con = DBCon.createCon();
SqlDataAdapter sda = new SqlDataAdapter(\"select 内容 as 内容,活动代号 as 活动代号,时间 as 时间 from 社区文体 where 活动代号 like'\" + txt2.Text + \"%'\ DataSet ds = new DataSet(); sda.Fill(ds, \"table\");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
try //有时找不到匹配的记录,有异常 { show(); }
catch (Exception ex) //对异常进行处理 {
MessageBox.Show(\"没有找到匹配的记录\"); return; } }
if (txt1.Text != \"\" && txt2.Text != \"\") //当读者ID不为空,姓名不为空时,进行查找相应匹配的记录
{ SqlConnection con = DBCon.createCon();
SqlDataAdapter sda = new SqlDataAdapter(\"select 内容 as 内容,活动代号 as 活动代号,时间 as 时间 from 社区文体 where 内容 like'\" + txt1.Text + \"%' and 活动代号 like'\" + txt2.Text + \"%'\con);
DataSet ds = new DataSet(); sda.Fill(ds, \"table\");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
try //有时找不到匹配的记录,有异常 { show(); }
catch (Exception ex) //对异常进行处理 {
MessageBox.Show(\"没有找到匹配的记录\"); return;
} } }
private void 退出_Click(object sender, EventArgs e) {
if (MessageBox.Show(\"确定退出社会问题吗?\\"提示\MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) == DialogResult.OK) {
28 / 33
社区管理系统的设计与实现
this.Close(); //退出读者信息维护 } }
8.7 居民档案添加与删除
居民档案添加与删除界面如图8-7所示。
图8-7居民档案添加与删除界面
对应代码:
private void 删除_Click(object sender, EventArgs e) {
int index = this.dataGridView1.CurrentRow.Index; if (index < 0) {
MessageBox.Show(\"请选择要删除的记录!\提示\"); return; }
29 / 33
社区管理系统的设计与实现
else {
if (MessageBox.Show(\"确认要删除吗?\\"删除\MessageBoxButtons.YesNo) == DialogResult.Yes)
private void 取消_Click(object sender, EventArgs e)
{ if (MessageBox.Show(\"确定退出居民档案吗?\提示\MessageBoxIcon.Asterisk) == DialogResult.OK) {
this.Close();
//退出读者信息维护 } }
private void btnAdd_Click(object sender, EventArgs e) {
if (textBox1.Text == \"\" || textBox2.Text == \"\" || textBox3.Text == \"\" || textBox4.Text == \"\" || textBox5.Text == \"\" || textBox5.Text == \"\" || textBox6.Text == \"\") {
MessageBox.Show(\"所有项都必须写\"); return; }
SqlConnection con = DBCon.createCon(); try {
con.Open();
SqlDataAdapter sda = new SqlDataAdapter(\"INSERT INTO 居民档案 values ('\" + textBox1.Text + \"','\" + textBox2.Text + \"','\" + textBox3.Text + \"','\" + textBox4.Text + \"','\" + textBox5.Text + \"','\" + textBox6.Text + \"')\ DataSet ds = new DataSet(); sda.Fill(ds, \"客户信息管理\"); MessageBox.Show(\"添加成功!\");
}
catch (SqlException ex) { MessageBox.Show(\"添加失败! 错误类型:\" + ex.Message); } finally { con.Close(); } textBox1.Text = \"\"; textBox2.Text = \"\"; textBox3.Text = \"\"; textBox4.Text = \"\"; textBox5.Text = \"\";
30 / 33
社区管理系统的设计与实现
textBox6.Text = \"\"; }
8.8 退出系统
退出系统界面如图8-8所示。
图8-8退出系统界面
对应代码:
private void 退出系统ToolStripMenuItem_Click_1(object sender, EventArgs e) {
if (MessageBox.Show(\"确定退出本系统吗?\\"提示\MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) == DialogResult.OK) {
this.Close(); //退出系统 } }
第九章 课程设计心得体会
当下是信息化时代,各行各业以及人们的生活的各个角落都有计算机的身影,计算机及其应用技术,在发展生产力,为生活提供便捷方面发挥了举足轻重的作用。努力学好计算技术,已经是当
31 / 33
社区管理系统的设计与实现
代大学生势在必行的任务。而且课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。
刚开始做社区管理系统的时候,感觉无从下手,由于自身C#知识不是很牢靠,也没有做出明确的课程设计规划,烦恼了很长时间。但做任何事都是要找突破口的,在设计的最初阶段,我们通过网络,查阅了许多关于社区管理系统方面的资料,对于如何规划,如何做好社区管理系统有了一个大致的想法,对于系统设计本身也没有当初那么困惑和畏惧了。于是我们便迎难而上,从登陆界面的设计与代码编写开始,一点一点地克服社区管理系统方面的各个难题,当然仅仅靠我们自己和有限的网络资料是无法完成任务的,凡是无法弄明白的地方,我们都会虚心请教别的同学,并记下他们解决问题的方法,我们所犯的错误在哪,以及如何避免这些错误的方法。经过了几天的研究,不仅系统设计有了明显的进展,而且自身C#知识也得到的提高。不仅可以很好地解决自身代码与设计上的问题,还可以帮助别的同学解决类似的问题。 如今我们已经从惧怕做课程设计,到现在对这类的设计多少感一点兴趣了,靠的正是团队精神,以及克服困难的毅力以及一路走来的收获和收获带来的成就感。
作为计算机学生应当努力学好专业课程,只有有了扎实的专业知识,才能够在计算机领域里实现自己的真正价值。
参考文献
[1]王珊等.数据仓库技术与联机分析处理.数据库技术丛书之一.北京:科学出版社 [2]Inmon W H.数据仓库.王志海等译.北京:机械工业出版社,2000 [3]Inmon W H.数据仓库管理.王天佑译.北京:电子工业出版社,2000
32 / 33
社区管理系统的设计与实现
[4]Kimball R等.数据仓库工具箱.谭明金译.北京:电子工业出版社,2003 [5]严涛.VisualC#2005程序设计与应用简明教程.北京:清华大学出版社,2007 [6]刘甲耀,严桂兰.C#程序设计教程.北京:电子工业出版社,2007 [7]刘浩,陈曙光.C#编程实例与技巧.北京:清华大学出版社,2002
33 / 33
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务