admin管理员组

文章数量:1530879

2023年12月25日发(作者:)

户籍管理系统设计 Java

毕业设计 第 1 页

Java

户籍管理系统

目 录

1 绪论 ....................................................... 3 1.1

项目开发背景 .............................................. 3 1.2 项目开发目的 .............................................. 3 2 开发平台简介 ............................................... 4 2.1 JBUILDER

2005 .............................................. 4 2.2 JAVA语言的特点 ............................................ 4 2.3 SQL SERVER

2000 ............................................ 5 3 系统分析 ................................................... 6 3.1 需求分析 .................................................. 6

3.1.1 系统功能设计分析 ................................... 6

3.1.2 主要功能 ........................................... 6 3.2 系统设计 .................................................. 7

3.2.1 数据库设计 ......................................... 7

3.2.2 系统功能结构图 ..................................... 8 4 系统的具体实现 ............................................. 9 4.1 登陆 ...................................................... 9

哈尔滨职业技术学院

毕业设计 第 2 页

4.2 主窗体 ................................................... 11

4.3 精确查询 ................................................. 12 4.4 模糊查询 ................................................. 14 4.5 开户管理 ................................................. 15 4.6 删除人物 ................................................. 17 4.7 新增人口登记 ............................................. 19 4.8 修改户籍信息 ............................................. 21 4.9 注册用户 ................................................. 23 4.10 修改用户密码 ........................................... 25 结

论 ...................................................... 28 致

谢 ...................................................... 29 参考文献 ...................................................... 30

哈尔滨职业技术学院

毕业设计 第 3 页

1 绪论

随着时代的发展、科学的进步,信息时代已经遍布全球,计算机已广泛地深入各行各业,起着越来越巨大的作用。它运算速度快,体积小,可靠性高,通用性与灵活性强,以及很高的性能价格比等特点,把人们带入了一个一切都离不开计算机的新时代。

本文介绍的系统是户籍管理系统,包括登陆界面,户籍管理主界面,开户登记界面,新增人口界面,删除人口界面,修改户籍信息界面,用户管理界面,分别有增、删、查、改的功能。

1.1 项目开发背景

近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,随着人口的不断增长,户籍管理部门也应得到良好的发展,利用现代化管理工具使其变成半自动化必定会提高其工作效率。

1.2 项目开发目的

户籍管理系统是针对户籍管理部门而开发的,为其改变人口信息仍需要手动处理和查询,个人的信息在处理中丢失或者不明确等现象而设计的。通过这个户籍管理系统,可以让户籍管理部门提高工作质量和效率,从而达到更快捷、更准确、更方便的目的。

哈尔滨职业技术学院

毕业设计 第 4 页

2 开发平台简介

此系统的开发平台是Windows XP,前台使用JBuilder2005开发,后台数据库为SQL Server 2000,下面对使用的软件做一下简介。

2.1 JBuilder 2005

JBuilder是Borland公司开发的针对java的开发工具,使用JBuilder将可以快速,有效的开发各类java应用,它使用的JDK与sun公司标准的JDK不同,它经过了较多的修改,以便开发人员能够像开发Delphi应用那样开发java应用。

JBuilder支持最新的Java技术,包括Applets、JSP/Servlets、JavaBean以及EJB (Enterprise JavaBeans)的应用。用户可以自动地生成基于后端数据库表的EJB Java类,JBuilder同时还简化了EJ B的自动部署功能.此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布应用程序所必需的接口定义语言Interface Definition Language)和控制远程对象。JBuilder能用Servlet和JSP开发和调试动态Web 应用。JBuilder拥有专业化的图形调试介

面,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME/J2SE/J2EE。JBuilder环境开发程序方便,它是纯的Java 开发环境,适合企业的J2EE开发。

2.2 Java语言的特点

Java是目前最流行的软件开发语言之一,由Sun Microsystem公司推出,称为网络上的“世界语”。Java适合开发基于多媒体、与平台无关、用面向对象的方法进行基于Internet、Intranet、Extranet的Applet和应用程序。Java建立在C和C++基础之上,使熟悉C和C++的程序员能很方便地进行Java编程。但Java摈弃了C和C++中许多不合理的内容。它具有简单

哈尔滨职业技术学院

毕业设计 第 5 页 高效、面向对象、不依赖于机器结构的特点,支持多线程、分布和并发机制。用Java开发的应用软件在可移植性、健壮性、安全性等方面大大优于已存在的其他编程语言。Java提供了丰富的类库,能最大限度地利用网络。Java可广泛用于面向对象的事件描述、处理面向对象的企业型的应用开发,还应用于Internet系统管理、Web页面设计、Internet可视化软件开发等方面。

2.3 SQL Server 2000

SQL全称是“结构化查询语言(Structured Query Language)”,最早

的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。

SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。SQL不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有

完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为操纵对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语言可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单独事件只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。

哈尔滨职业技术学院

毕业设计 第 6 页

3 系统分析

3.1 需求分析

3.1.1 系统功能设计分析

对应用系统项目的开发,首先要对程序要实现的功能和目标进行整体分

析和规划,确保在后期开发中不会出现遗漏或重大缺陷。因此在软件开发中,

要严格按照软件工程的流程进行系统的分析和设计。

3.1.2 主要功能

在本系统中主要包含以下功能模块:

1. 登陆模块

该模块的功能主要是对用户的ID和密码进行审核,如果正确进入系

统,否则提示密码错误,且分为两种权限:一是普通用户,该用户

只能浏览人口的户籍信息和修改自己的密码,而不能对户籍进行增

加、删除、修改的功能;二是管理员,该用户可以完成整个系统的

所有功能包括对户籍管理的增、删、查、改和对用户的管理。 2. 主窗体

此模块将显示整个系统的总体功能以及菜单,可以使用户很容易适

应本系统,也可以使用户很快捷的使用本系统。

3. 户籍管理模块

该模块主要是实现对人口户籍的信息进行增、删、查、改的功能。 4. 用户管理模块

此模块是完成对用户管理的增、删、查、改的功能。

哈尔滨职业技术学院

毕业设计 第 7 页 3.2 系统设计

3.2.1 数据库设计

数据源名:test,数据库名:hj,共有3个数据表。包括: upeople表——用来存储帐号、密码及权限的记录。(表3-1) hjid表——用来存储户籍号、户籍类别、户主姓名及地址。(表3-2) hjxx表——用来存储户籍成员信息的表。(表3-3)

表3-1 upeople表

列名 数据类型 长度 说明

userid char 10 用户ID(主键) username char 20 用户姓名(不可为空)

userpassword char 20 密码(不可为空)

power bit 1 权限*()

表3-2 hjid表

列名 数据类型 长度 说明

Int 4 户号 主键

char 20 户别 户籍类别(不可为空)

char 10 户主姓名 不可为空

varchar 50 住址 不可为空

表3-3 hjxx表

列名 数据类型 长度 说明

姓名 char 10 不可为空 户主或关系 char 10 不可为空

曾用名 char 10 允许为空

性别 char 4 不可为空

出生地 varchar 50 不可为空

民族 char 10 不可为空

籍贯 char 20 不可为空

出生日期 char 15 不可为空

哈尔滨职业技术学院

毕业设计 第 8 页

续上表3-3 hjxx表

列名 数据类型 长度 说明 其他住址 varchar 50 允许为空 宗教信仰 char

10 允许为空 身份证号 char 20 (主键)不可为空

身高 char 3 不可为空

血型 char 10 不可为空 文化程度 char 10 不可为空 婚姻状况 char 10 不可为空 兵役状况 char 10 允许为空 服务处所 char 50 允许为空

职业 char 10 不可为空 3.2.2 系统功能结构图

登陆窗体

管理员 普通用户

判断权限

添 删 更 户 用 户 修 加 除 新 籍 户 籍 改 户 户 户 查 管 查 密 籍 籍

籍 询 理 询 码

图3-1系统功能结构图

哈尔滨职业技术学院

毕业设计 第 9 页

4 系统的具体实现

4.1 登陆

登陆窗体(Welcome)由标签、文本框、密码框以及按钮等控件组成。

图4-1登陆窗体

本系统分为两个权限,即:

管理员——本系统的管理者,能够进行所有操作,并且可以分配权限。用户ID:001,密码为:111。

普通用户——屏蔽了系统的大部分功能,只能对登记和病历进行完全操作,其他功能只能够浏览。用户ID:002,密码为:123。

输入用户ID、密码,单击“确定”后,如果用户ID和密码都正确会提示登陆成功并关闭本窗体显示主窗体,否则,提示信息:用户名或密码错误请重新输入。

确定按钮代码如下:

dbconn db = new dbconn();

ResultSet rs = null;

哈尔滨职业技术学院

毕业设计 第 10 页

String sql = "";

String uid = t(); String upassword = new

String(sword());

boolean flag = false;

sql = "select * from upeople where userid='" + uid +

"'and userpassword='" + upassword + "'";

try {

rs = (sql);

if (()) {

flag = true;

id=t();

N = ing("username");

MYPOWER = (4);

} else {

ssageDialog(null, "用户/密

码错误,请重新输入!");

}

} catch (Exception e2) {

}

if (flag) {

if (MYPOWER == 1) {

power = "管理员";

„„„„ //显示主窗体

} else {

哈尔滨职业技术学院

毕业设计 第 11 页

„„„„ //显示主窗体

}

}

();

4.2 主窗体

主窗体(MainUI)由菜单,标签组成。

图4-2主窗体

登陆成功后进入本窗体,根据不同身份会隐藏部分功能,为了更快捷的

接受本系统,主窗体设有五个标签显示总体功能。

点击菜单会弹出相应窗体,相关代码如下:

Select1 aa = new Select1();

ible(true);

e(545, 625);

int w =

(aultToolkit().getScreenSize().width -

哈尔滨职业技术学院

毕业设计 第 12 页

th()) / 2;

int h =

(aultToolkit().getScreenSize().height -

ght()) / 2;

ation(w, h);

te();

4.3 精确查询

精确查询(Select1)由标签、按钮、表格等控件组成。

图4-3精确查询窗体

精确查询(Select1)由标签、按钮、表格等控件组成。

单击查询按钮调用查询方法,相关代码如下:

public void UpdateRecord() {

Vector vec = new Vector(1, 1);

DefaultTableModel model = new DefaultTableModel();

哈尔滨职业技术学院

毕业设计 第 13 页

JdbTable jdbTable1 = new JdbTable(model);

wport().add(jdbTable1);

umn("姓名");

umn("户主或关系");

„„

dbconn db = new dbconn();

String a=t();

String sql="";

if (cted()){

sql="select * from hjxx where 户号='"+a+"'";

}else if (cted()){

sql="select * from hjxx where 身份证号='"+a+"'";

}

try {

ResultSet rs = (sql);

while (()) {

vec = new Vector();

(ing("姓名"));

(ing("户主或关系"));

„„

(vec);

}

} catch (Exception ea) {

tackTrace();

}

哈尔滨职业技术学院

毕业设计 第 14 页

izontalScrollBar();

n(Count());

dColor();

gEnabled(true);

ectionForeground();

ectionBackground();

wVerticalLines(true);

table(false);

oResizeMode(0);

t(("Dialog",,}

4.4 模糊查询

模糊查询(Select2)由标签、按钮、表格等控件组成。

图4-2模糊查询窗体

14));

哈尔滨职业技术学院

毕业设计 第 15 页

本窗体功能实现同精确查询窗体类似,不做详细解释。

4.5 开户管理

开户管理窗体(Addpeople)由标签、文本框、按钮、分页面板等控件组成。

图4-5开户管理窗体

进入主窗体后单击开户登记菜单可进入此窗体,通过该窗体可以对没有户口的成员进行开户操作。

登记按钮代码如下:

dbconn db=new dbconn();

String

a=(String)ectedItem();

String b=t();

String sql="select 姓名 from hjxx where 户主或关系='"+a+"' and 户号='"+b+"'";

ResultSet rs=null;

rs=(sql);

try{

哈尔滨职业技术学院

毕业设计 第 16 页

if (()){

ssageDialog(null,"此关系

人已经存在,请重新选择关系~");

}

}catch(Exception ee){

}

}

窗体初始化代码如下:

Addpeople aa = new Addpeople();

bledAt(1, false);

dbconn db = new dbconn();

ResultSet rs = null;

String sql = "select max(户号) from hjid";

rs = (sql);

int x;

try {

if (()) {

x = (1);

if(x<1000000){

x=1000000;

}else{

x=x+1;

}

t("" + x);

哈尔滨职业技术学院

毕业设计 第 17 页

n("" + x);

}else {

x = 1000000;

t("" + x);

n("" + x);

}

} catch (Exception e3) {

}

4.6 删除人物

删除人物窗体(Dele)由标签、文本框、按钮、表格等控件组成。

图4-6删除人物窗体

进入主窗体后单击删除人物菜单进入此窗体,该窗体所完成的功能是删

除人物,首先要先查询要删除的人物是否存在,如存在则可以删除,否则无

法完成操作。

查询按钮代码如下:

dbconn db=new dbconn();

String a =t() ;

String sql="select * from hjxx where 身份证号='"+a+"'";

哈尔滨职业技术学院

毕业设计 第 18 页

ResultSet rs=null;

rs=(sql);

try{ if (()) {

();

ry(new

escriptor(

database1, sql, null, true, ));

();

bled(true);

}else{

ssageDialog(null,"此人不存在无法

删除,请确认身份证信息是否正确~");

}

}catch(Exception ee){}

删除按钮代码如下:

();

String a=t();

String sql="select * from hjxx where 身份证号='"+a+"' and

户主或关系='户主'";

dbconn db=new dbconn();

ResultSet rs=null;

rs=(sql);

try{

if (()){

ssageDialog(null,"此人身份为户主,

哈尔滨职业技术学院

毕业设计 第 19 页 请删除后为其户重新开户");

sql="delete from hjid where 户号=(select 户号 from hjxx where 身份证号='"+a+"'and hjid.户号=hjxx.户号)";

(sql);

ry(new

escriptor(

database1, "select * from hjxx", null, true, ));

();

}else{

sql="delete from hjid where 户号=(select 户号 from hjxx where 身份证号='"+a+"'and hjid.户号=hjxx.户号)";

(sql);

ry(new

escriptor(

database1, "select * from hjxx", null, true, ));

();

}

}catch(Exception ee){

}

}

4.7 新增人口登记

新增人口登记窗体(Addpeople2)由标签、文本框、按钮、分页面板等控件组成。

哈尔滨职业技术学院

毕业设计 第 20 页

图4-7新增人口窗体

此窗体是对已有户籍的人员进行添加新成员,先查询到户籍是否存在,如存在则可以添加,否则无法完成此操作。

查询相关代码如下:

dbconn db = new dbconn();

ResultSet rs = null;

String sql = "";

String a = t();

if (("")) {

ssageDialog(null, "户号不能为空,请重新输入~");

} else {

sql = "select hjid.户号,户别,户主姓名,住址 from hjid,hjxx where

hjid.户号='" +

a + "' and hjxx.户主或关系='户主'";

rs = (sql);

try {

哈尔滨职业技术学院

毕业设计 第 21 页

if (()) {

t(ing("户别"));

t(ing("户主姓名"));

t(ing("住址"));

int z = nfirmDialog(null,

"请选择",

_NO_OPTION,

_OPTION);

();

if (z == _OPTION) {

bled(true);

} else {

bled(false);

}

} else {

ssageDialog(null,"对不起,

户口不存在,请到添加界面为其开户~");

}

} catch (Exception ee) {

}

}

4.8 修改户籍信息

修改户籍信息窗体(Upd)由标签、文本框、按钮、下拉列表框等控件

组成系统的具体实现。

哈尔滨职业技术学院

毕业设计 第 22 页

图4-8修改户籍信息窗体

通过该窗体的查询、修改按钮可以对已有户籍人员的信息进行修改,先查询户籍信息是否存在才能修改,否则无法完成此操作。

查询按钮代码如下:

String a = t();

dbconn db = new dbconn();

String sql = "select * from hjxx where 身份证号='" + a + "'";

ResultSet rs = null;

rs = (sql);

try {

if (()) {

ssageDialog(null,"恭喜您,可以修改~");

bled(true);

} else {

ssageDialog(null, "无此人信

哈尔滨职业技术学院

毕业设计 第 23 页

息,请确认身份证号码是否正确~");

}

} catch (Exception ee) {

}

修改按钮代码如下:

dbconn db = new dbconn();

if (cted()) {

sql = "update hjxx set 姓名='" + b + "'";

} else if (cted()) {

sql = "update hjxx set 户主或关系='"+d+"'";

} else if (cted()) {

sql = "update hjxx set 曾用名='" + b + "'";

} „„//后面判断省略

(sql);

ssageDialog(null, "更新成功~"); 4.9 注册用户

添加删除用户窗体(Upeople)由标签、文本框、按钮、分页面板等控

件组成。

哈尔滨职业技术学院

毕业设计 第 24 页

图4-8添加删除用户窗体

通过该窗体可以添加、删除用户,添加时首先要查询用户ID是否存在,如果不存在则可以添加,否则无法完成操作,删除时会对要删除的用户密码进行审核,确认无误后删除,否则无法完成操作。

检测ID按钮代码如下:

dbconn sele = new dbconn();

ResultSet rs = null;

String sql = "";

String id2 = t();

try {

if (("")) {

ssageDialog(null, "用户ID为空,无法检测~");

} else {

sql = "select * from upeople where '" + id2 +

"'=userid";

rs = (sql);

if (()) {

哈尔滨职业技术学院

毕业设计 第 25 页

ssageDialog(null, "用户

ID已经存在,不可用~");

t("");

} else {

ssageDialog(null, "恭喜

您~此ID可以用~");

bled(true);

}

}

} catch (Exception ee) {

n(ng());

}

();

4.10 修改用户密码

修改密码窗体(Gupeople)由标签、文本框、密码框、按钮等控件组成。

图4-8修改用户密码窗体

过此窗体可以对用户自己的密码进行修改,首先要判断旧密码是否正

哈尔滨职业技术学院

毕业设计 第 26 页

确,然后判断两次输入的新密码是否一致,如果符合条件则操作成功,否则,

无法完成操作。

修改按钮代码如下:

dbconn db=new dbconn();

ResultSet rs=null;

String sql="";

String sql1="";

String upa=new String(sword());

String upa1=new String(sword());

String upa2=new String(sword());

if (("")){

ssageDialog(null,"旧密码不能为空,请重

新输入~");

}else if(("")){

ssageDialog(null,"新密码不能为空,请重

新输入");

}else if((upa2)==false){

ssageDialog(null,"新密

码不一致,请重新输入~");

t("");

t("");

}else{

sql="select * from upeople where

userid='"+t()+"'and userpassword='"+upa+"'";

rs=(sql);

哈尔滨职业技术学院

毕业设计 第 27 页

try{

if (()) {

sql1="update upeople set userpassword

='"+upa1+"' where userid='"+t()+"'";

(sql1);

ssageDialog(null,"

修改成功");

t("");

t("");

t("");

}

}catch(Exception e2){

}

}

();

哈尔滨职业技术学院

毕业设计 第 28 页

结 论

历时一个多月的毕业设计即将结束了,看到自己投入一个月的时间和精力完成的毕业设计和毕业论文,心中不禁涌出一丝兴奋和满足。

本系统的特点就在于以下几点:

1( 代码简单,代码虽然不多,但设计思想很严谨。

2( 大量使用表格控件,使数据一目了然。

3( 非常直观的界面,让用户操作起来更容易上手。

4( 本系统还有一些不足之处,例如,报表功能还没有实现,是要将

Builder与水晶报表相结合,数据库中的户籍信息进行打印,这个需要用J

但我在技术上还欠缺一些,以后有待开发。

这整个过程中,我学到了许多书本上学不到的东西,更重要的是让我清楚的认识到作为一名计算机专业的毕业生今后应该做些什么。

哈尔滨职业技术学院

毕业设计 第 29 页

致 谢

本次毕业设计是在我的导师杨文老师的悉心指导下完成的,借此机会向她表示衷心的感谢。在一个多月的毕业设计过程中,她在学习上给予我极大的帮助,也给了我许多有益的意见。她科学严谨的治学态度以及认真负责的处事原则将始终鼓励和鞭策着我。

同时,我还要感谢在大学三年里,教育、关心和帮助过我的诸位老师们,是他们使我学到了很多计算机专业知识,更重要的是让我学到了许多解决问题的方法以及做人处世的道理。

最后仍然要感谢杨文老师们在整个毕业设计过程中给予我的关心和帮助。

哈尔滨职业技术学院

毕业设计 第 30 页

参考文献

[1] Borland 中国公司(JBuilder2005编程与开发.电子工业出版社,2005

[2] 赵松涛,吴维元(SQL Server 2000系统管理实录.电子工业出版社,2006

[3](美)布洛赫,(美)加夫特 著,陈昊鹏 译(Java解惑. 人民邮电出版社,2006

阎宏(Java与模式(含盘).电子工业出版社,2002 [4]

哈尔滨职业技术学院

本文标签: 开发用户窗体户籍系统