人口查询系统作品设计说明书大学论文.docx
《人口查询系统作品设计说明书大学论文.docx》由会员分享,可在线阅读,更多相关《人口查询系统作品设计说明书大学论文.docx(25页珍藏版)》请在冰点文库上搜索。
![人口查询系统作品设计说明书大学论文.docx](https://file1.bingdoc.com/fileroot1/2023-8/5/42114e51-cde7-4748-b614-7978d553f5e9/42114e51-cde7-4748-b614-7978d553f5e91.gif)
人口查询系统作品设计说明书大学论文
2016—2017学年第一学期期末考试
《C#程序设计》实践考核
作品设计说明书
项目名称:
人口查询系统
专业:
计算机网络技术
学号:
姓名:
任课教师:
2016年12月25日
考核项目及要求
考核内容:
设计实现XX村庄人口查询系统,完成村民信息查询功能,查询时可以根据出生年月、年龄、年龄段、健康状况等条件进行操作,查询结果可导出表格存档。
考核要求:
1.正确设置开发环境,正确配置服务器。
2.界面美观大方,布局合理。
3.实现与用户交互,及时响应用户的请求。
4.删除村户时该户所包含的村民信息也应删除。
5.能够根据出生年月、年龄、年龄段进行查询。
6.若查询结果中的数据过多,需要进行分页显示。
7.查询结果导出到表格存档时,可以过滤掉部分村民。
8.使用MVC三层架构,体现学生解决实际问题的能力。
目录
《C#程序设计》实践考核1
作品设计说明书1
目录4
第一章系统需求分析4
1.1数据库(ACCESS)简单介绍4
1.2Visual.C#.2010简单介绍5
1.3系统开发的实现方式5
1.4系统开发技术支持6
1.5系统功能分析6
第二章系统设计6
2.1设计目标6
2.2功能结构图6
2.3数据库设计7
2.3.1建立数据库。
7
2.3.2创建表7
第三章软件设计8
3.1总体设计8
3.1.1登陆界面设计8
3.1.2用户信息主界面设计9
3.1.3子界面设计9
3.2详细设计9
第四章测试与总结17
4.1测试17
4.2总结21
第一章系统需求分析
1.1数据库(ACCESS)简单介绍
SQL(StructuredQueryLanguage)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
同时也是数据库脚本文件的扩展名。
SQL是高级的非过程化编程语言,是沟通数据库服务器和客户端的重要工具,允许用户在高层数据结构上工作。
它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以,具有完全不同底层结构的不同数据库系统,可以使用相同的SQL语言作为数据输入与管理的SQL接口。
它以记录集合作为操作对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语句可以嵌套,这使它具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的功能只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。
1.2Visual.C#.2010简单介绍
支持WindowsAzure,微软云计算架构迈入重要里程碑,助力移动与嵌入式装置开发,三屏一云商机无限,实践当前最热门的Agile/Scrum开发方法,强化团队竞争力。
升级的软件测试功能及工具,为软件质量严格把关。
搭配Windows7,Silverlight4与Office,发挥多核并行运算威力,创建美感与效能并重的新一代软件。
支持最新C++标准,增强IDE,切实提高程序员开发效率。
是微软开发的一种面向对象的编程语言,是微软.NET开发环境的重要组成部分。
它是为生成在.NETFramework上运行的多种应用程序而设计的。
C#简单、功能强大、类型安全,而且是面向对象的。
C#凭借它的许多创新,在保持C样式语言的表示形式和优美的同时,实现了应用程序的快速开发。
1.3系统开发的实现方式
在系统建立在数据库(SQL),Visual.C#.2010中,使用SQL设计相应的数据记录,方便在测试时的使用。
使用Visual.C#.2005为窗体设计主体工具,进行相应的窗体的设计的实现。
1.4系统开发技术支持
本系统须在相应计算机,能安装开发工具(ACCESS与Visual.C#.2005)。
1.5系统功能分析
1、能够删除村户时该户所包含的村民信息也删除。
2、能够根据姓名、出生年月、年龄等进行查询。
3、能够查询结果中的数据过多,需要进行分页显示。
4、能够查询结果导出到表格存档时,可以过滤掉部分村民。
第二章系统设计
2.1设计目标
本系统运行时将产生四个程序文件,分别是Form1.cs,Form2.cs,Program.cs,SQLHelper.cs其中Form1.csForm2.cs是窗体设计时代码编辑区。
另外,还应该包含一个数据库test文件。
2.2功能结构图
1、数据库关系E-R图:
2、验证过程流程图:
2.3数据库设计
2.3.1建立数据库。
2.3.2创建表
1、创建人口信息表,并添加数据。
2、创建用户登录表,并添加数据。
第三章软件设计
3.1总体设计
3.1.1登陆界面设计
在登陆界面包括用户名,密码(为label控件)的输入,含有登陆(为button控件)命令。
当用户名和密码(为textbox控件)都正确时,会出现登陆成功并能进入下一个界面,否则,该系统将会出现“登录失败”。
3.1.2用户信息主界面设计
人口信息主界面是整个系统的核心部分,该界面能够显示村庄人口的基本信息。
该界面主要包括两个Tabcontral控件,四个button控件用来执行上一页,下一页,全部信息,导出命令。
3.1.3子界面设计
在子界面包括用户搜索,添加用户,删除用户界面的设计:
用户搜索界面包括一个datagridview控件主要显示人口信息查询的结果,一个button控件用于搜索用户,九个checkbox控件,用来显示我们所要查找人口信息的属性,六个textbox控件和两个combobox控件(该控件可以显示下拉信息,方便查找)。
添加用户界面主要通过输入该用户信息对该村庄的用户进行添加,主要包括九个label控件,一个combobox控件(用来显示性别男女),八个textbox控件和一个button控件用来执行添加命令操作。
删除个用户界面主要通过输入该村庄人口任意关键词就可以对该用户进行删除,主要包括九个label控件一个combobox控件(用来显示性别男女),八个textbox控件和一个button控件用来执行删除命令操作。
3.2详细设计
1、用户登录界面如下图所示:
编码如下:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringuser=用户.Text.Trim();
stringpwd=密码.Text.Trim();
SqlConnectionconn=newSqlConnection("server=127.0.0.1;database=人口调查;uid=sa;pwd=123");
conn.Open();
SqlCommandcmd=newSqlCommand("select*from用户登录wherename='"+user+"'andpwd='"+pwd+"'",conn);
intm=(int)cmd.ExecuteScalar();
if(m==1)
{
MessageBox.Show("登陆成功!
");
Form2form2=newForm2();
form2.Show();
}
else
{
MessageBox.Show("登录失败!
");
}
}
2、查找用户信息等操作主界面
1)用户信息界面操作
全部信息代码如下:
privatevoidbut_info_Click(objectsender,EventArgse)
{
SqlConnectionconn=newSqlConnection("server=127.0.0.1;database=人口调查;uid=sa;pwd=123");
conn.Open();
DataSetds=newDataSet();
SqlDataAdapterda=newSqlDataAdapter("select*from人口信息",conn);
da.Fill(ds);
dataGridView1.DataSource=ds.Tables[0];
conn.Close();
}
下一页信息代码如下:
privatevoidbut_next_Click(objectsender,EventArgse)
{
SqlConnectionconn=newSqlConnection("server=127.0.0.1;database=人口调查;uid=sa;pwd=123");
conn.Open();
DataSetds=newDataSet();
SqlDataAdapterda=newSqlDataAdapter("selecttop5*from人口信息where姓名notin(selecttop5姓名from人口信息)",conn);
da.Fill(ds);
dataGridView1.DataSource=ds.Tables[0];
conn.Close();
}
上一页信息代码如下:
privatevoidbut_between_Click(objectsender,EventArgse)
{
SqlConnectionconn=newSqlConnection("server=127.0.0.1;database=人口调查;uid=sa;pwd=123");
conn.Open();
DataSetds=newDataSet();
SqlDataAdapterda=newSqlDataAdapter("selecttop5*from人口信息",conn);
da.Fill(ds);
dataGridView1.DataSource=ds.Tables[0];
conn.Close();
}
导出信息代码如下:
privatevoidbut_table_Click(objectsender,EventArgse)
{
ExportExcel("",dataGridView1);
}
publicvoidExportExcel(stringfileName,DataGridView表格)
{
stringsaveFileName="";
SaveFileDialogsaveDialog=newSaveFileDialog();
saveDialog.DefaultExt="xls";
saveDialog.Filter="Excel文件t|*.xls";
saveDialog.FileName=fileName;
saveDialog.ShowDialog();
saveFileName=saveDialog.FileName;
HSSFWorkbookworkbook=newHSSFWorkbook();
MemoryStreamms=newMemoryStream();
NPOI.SS.UserModel.ISheetsheet=workbook.CreateSheet("Sheet1");
introwCount=表格1.Rows.Count;
intcolCount=表格1.Columns.Count;
for(inti=0;i{
NPOI.SS.UserModel.IRowdataRow=sheet.CreateRow(i);
for(intj=0;j{
if(表括格1.Columns[j].Visible&&表格1.Rows[i].Cells[j].Value!
=null)
{
NPOI.SS.UserModel.ICellcell=dataRow.CreateCell(j);
cell.SetCellValue(表格1.Rows[i].Cells[j].Value.ToString());
}
}
}
2)用户搜索界面操作
privatevoidbut_serch_Click(objectsender,EventArgse)
{
stringname2=xingming1.Text.Trim();
stringsex2=xingbie1.Text.Trim();
stringminzu2=minzu1.Text.Trim();
intage2=Int32.Parse(this.nianling1.Value.ToString());
stringmenpaihao2=menpaihao1.Text.Trim();
stringchushengnianyue2=chusheng1.Text.Trim();
stringnum22=shenfen1.Text.Trim();
stringinfo=jiating1.Text.Trim();
stringjiankangzhuangkuang2=jiankang1.Text.Trim();
SqlConnectionconn=newSqlConnection("server=127.0.0.1;database=人?
人口调查;uid=sa;pwd=123");
conn.Open();
SqlCommandcmd=newSqlCommand("select*from人口信息where姓名='"+name2+"'or性别='"+
sex2+"'or民?
族?
='"+minzu2+"'or年龄='"+age2+"'or年ê龄='"+age2+"'or门牌号='"+menpaihao2+"'or出生年月='"+chushengnianyue2+"'or身份证号='"
+num22+"'or家庭住址·='"+info+"'or健康状况='"+jiankangzhuangkuang2+"'",conn);
SqlDataAdapterda=newSqlDataAdapter();
da.SelectCommand=cmd;
DataSetds=newDataSet();
da.Fill(ds);
dataGridView2.DataSource=ds.Tables[0];
conn.Close();
}
3)添加用户信息操作界面
编译语言如下所示:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringname=xingming.Text.Trim();
stringsex=xingbie.Text.Trim();
stringmz=minzu.Text.Trim();
intage=Int32.Parse(this.nianling.Value.ToString());//insertintotab_infovalues('"+name+"','','')
stringnum=menpaihao.Text.Trim();
stringcsny=chushen.Text.Trim();
stringsfzh=shenfen.Text.Trim();
stringinfo=jiating.Text.Trim();
stringjkzk=jiankang.Text.Trim();
SqlConnectionconn=newSqlConnection("server=127.0.0.1;database=人口调查;uid=sa;pwd=123");
conn.Open();
SqlCommandcmd=newSqlCommand("insertinto人口信息values('"+name+"','"+sex+"','"+mz+"','"+age+"','"+num+"','"+csny+"','"+sfzh+"','"+info+"','"+jkzk+"')",conn);
SqlDataAdapterda=newSqlDataAdapter();
da.SelectCommand=cmd;
DataSetds=newDataSet();
da.Fill(ds);
MessageBox.Show("添加成功|!
?
");
}
privatevoidbutton2_Click(objectsender,EventArgse)
{
xingming.Text="";
xingbie.Text="";
minzu.Text="";
nianling.Text="";
menpaihao.Text="";
chushen.Text="";
shenfen.Text="";
jiating.Text="";
jiankang.Text="";
nianling.Value=0;
}
4)删除用户操作界面
代码如下:
privatevoidbutton3_Click(objectsender,EventArgse)
{
stringname2=xingming2.Text.Trim();
stringsex2=xingbie2.Text.Trim();
stringminzu2=minzu22.Text.Trim();
intage2=Int32.Parse(this.nianling1.Value.ToString());
stringmenpaihao2=menpaihao22.Text.Trim();
stringchushengnianyue2=chusheng2.Text.Trim();
stringnum22=shenfen2.Text.Trim();
stringinfo=jiating2.Text.Trim();
stringjiankangzhuangkuang2=jiankang2.Text.Trim();
SqlConnectionconn=newSqlConnection("server=127.0.0.1;database=人口调查;uid=sa;pwd=123");
conn.Open();
SqlCommandcmd=newSqlCommand("delete人口信息where姓名='"+name2+"'or性别='"+sex2+"'or民族='"+minzu2+"'or年ê龄='"+age2+"'or年龄='"+age2+"'or门牌号='"+menpaihao2+"'or出生年月='"+chushengnianyue2+"'or身份证号='"
+num22+"'or家庭住址·='"+info+"'or健康状况='"+jiankangzhuangkuang2+"'",conn);
SqlDataReaderdr=cmd.ExecuteReader();
while(dr.Read())
{
MessageBox.Show("删除成功|!
?
");
}
MessageBox.Show("删除成功|!
?
");
}
第四章测试与总结
4.1测试
1)用户登录界面
输入正确的用户名及密码会登陆成功
否则
2)登陆成功后出现该界面(用户信息主界面)。
3)点击全部信息按钮。
4)点击上一页按钮。
5)点击导出按钮。
6)用户搜索界面。
7)添加用户界面
输入用户信息
点击重置按钮,信息全部删除
输入用户信息,点击添加按钮,会出现那添加成功
删除用户界面
输入任意关键字就可以删除成功,只要改数据库有该用户信息
4.2总结
1、对这次制作报告有深刻的理解。
2、对VisualStudio在实践中的应用有深刻的理解,在实践的基础上,把所学过的知识应用于世纪应用中,更深刻理解了c#的基本语句的实际应用。
3、通过实验课程设计激发了我学习的积极性,培养了我独立发现问题、分析问题、解决问题的能力。
更增强了我与同学的交流沟通能力和共同解决合作的能力。
4、理解了c#的基本语句知识点一级学科之间的融合渗透:
将之前学的编程基本知识应用到c#中。
2016-2017学年度第一学期期末考试
《C#程序设计》实践考核成绩报告单
排课编号:
(2016-2017-1)-Z081309-00065-2批阅日期:
2016年12月30日
姓名
班级
学号
评价项目
评分标准
分值
得分
备注
基础知识
知识结构运用合理
10
代码编写规范,变量、函数命名准确
20
注释编写详细
10
系统运行情况
系统运行高效稳定
10
界面设计简洁明了
10
控件使用合理
10
作品完成情况
系统能共完善
20
系统创新
10
合计
100
考核成绩
任课教师签字
复核人签字