eclipse个人通讯录.docx
- 文档编号:10439402
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:46
- 大小:2.93MB
eclipse个人通讯录.docx
《eclipse个人通讯录.docx》由会员分享,可在线阅读,更多相关《eclipse个人通讯录.docx(46页珍藏版)》请在冰豆网上搜索。
eclipse个人通讯录
赣南师范学院科技学院数学与信息科学系数据库课程设计报告
设计题目:
通讯录管理系统开发
专业:
计算机科学与技术
班级:
计算机111班
学号:
1120061116
姓名:
沈钊
指导老师:
谢辅雯
日期:
2013年12月日
成绩:
目录
1.需求分析…………………………………………………………………………3
1.1系统需求分析…………………………………………………………………3
1.2功能需求分析…………………………………………………………………3
1.2.1系统功能的描述……………………………………………………3
1.2.2系统功能模块的划分………………………………………………3
1.2.3系统管理……………………………………………………………3
1.2.4地址信息的管理……………………………………………………3
1.2.5地址信息的查询与统计……………………………………………4
1.2.6用户管理……………………………………………………………4
2.E-R图………………………………………………………………………………4
3.数据流图…………………………………………………………………………4
3.1管理员部分数据流图…………………………………………………………4
3.2用户部分数据流图……………………………………………………………5
4.数据库表…………………………………………………………………………5
4.1系统用户表……………………………………………………………………5
4.2联系人信息表…………………………………………………………………6
5.调试过程…………………………………………………………………………6
6.代码段……………………………………………………………………………17
6.1登录界面代码………………………………………………………………17
6.2添加用户代码………………………………………………………………18
6.3修改用户密码,删除用户,修改权限代码…………………………………20
6.3.1修改用户密码………………………………………………………20
6.3.2删除用户…………………………………………………………21
6.3.3修改权限…………………………………………………………22
6.4查询用户……………………………………………………………………23
6.5添加、选择图片代码………………………………………………………24
6.5.1添加图片代码……………………………………………………24
6.5.2选择图片代码……………………………………………………25
6.6管理员添加,修改,删除,查询联系人…………………………………26
6.6.1添加联系人………………………………………………………26
6.6.2修改联系人代码…………………………………………………28
6.6.3删除联系人代码…………………………………………………29
6.6.4查询联系人代码…………………………………………………30
7.总结………………………………………………………………………………33
通讯簿信息管理系统开发
设计本系统模拟用户在通讯录中管理内容,包括地址信息的管理,地址信息的查询与统计,用户管理。
制作系统成员与分工:
成员:
范德泉、沈钊
分工:
范德泉:
需求分析及系统开发中的“地址信息的查询与统计”。
沈钊:
系统开发中的“地址信息的管理”与“用户管理”。
一、需求分析
1.1系统需求分析
个人或者企业可以通过通讯簿信息管理系统对企业或者个人日常联系人信息的管理。
1.2功能需求分析
1.2.1系统功能的描述
通讯簿信息管理系统在管理功能上较简单主要实现地址信息的管理、地址信息的查询与统计以及用户管理等功能
1.2.2系统功能模块的划分
通讯录管理系统功能分析总图
1.2.3系统管理
管理员通过此模块来管理用户登陆,普通用户通过此模块来进行用户登陆操作。
在这个模块中包含2个子菜单:
管理员登陆:
可以进入到“地址信息的管理”管理模块,进行系统用户的添加、修改、查询和删除操作
普通用户登陆:
可以进入到“地址信息的管理”管理模块,进行查询联系人操作。
1.2.4地址信息的管理
管理员通过此模块对对新地址的姓名、性别、家庭住址、手机、住址电话、办公电话、电子信箱、个人简介、照片等基本信息的录入,对原有地址信息的修改与删除,在修改与删除时,应先查询出相关信息,再进行修改与删除。
普通用户通过此模块对联系人进行查询。
1.2.5地址信息的查询与统计
管理员与普通用户通过此模块可以按姓名等不同的条件对地址信息进行查询与统计。
1.2.6用户管理
管理员通过此模块对联系人信息的录入、修改与删除以及对用户授权的管理。
二、E-R图
整个系统开发过程中,主要涉及到的实体有:
管理员、用户、联系人,他们之间的具体关系如下图:
通讯录管理系统E-R图表
三、数据流图
3.1管理员部分数据流图
管理员部分数据流图
3.2用户部分数据流图
用户部分数据流图
四、
四、数据库表
数据库表示建立于系统用户表MicrosoftSQLServer中数据库txl中
4.1系统用户表
表名:
txl
中文名称
表名
数据类型
用户
zh
char
密码
mm
char
权限
qx
int
用户表
4.2联系人信息表
表名:
lxr
中文名称
表名
数据类型
ID
ID
Int
性别
性别
varchar
家庭地址
家庭地址
varchar
手机
手机
varchar
住址电话
住址电话
varchar
办公电话
办公电话
varchar
电子信箱
电子信箱
varchar
个人简介
个人简介
varchar
照片
照片
varchar
姓名
姓名
varchar
用户组
用户组
varchar
用户名
用户名
varchar
联系人表
五、调试过程
调试是一耳光程序员最基本的技能,其重要性甚至超过学习一门语言。
不会调试的程序员就意味着他即使会一门语言,却不能编写出任何好的软件。
这是当初我最开始接触C语言的时候让我感受很深的一句话,我当时很不能理解如果调试真的这么重要,为什么在我们的课本里面却找不到相关的内容,甚至一些相当经典的教材里面也没有对其进行大篇幅的介绍。
直到自己开始写了一些大一点的程序,才发现有时候自己最初设计程序在一些细节上的新颖想法是那么的可笑,带来的只是无穷无尽的错误和威胁。
程序编写完成就应该调试自己所完成的程序,以减少程序中的bug。
以下是我的程序调试以及运行过程截图。
打开Eclipse软件,导入Workspace,如图5-1:
5-1
在“个人通讯录/src/界面.管理员界面”中打开“登录界面”点击工具栏中的“Run按钮”,成功运行,出现登录界面,输入下面信息
用户名“沈钊”,密码“123123”权限为“普通用户”
或者
用户名“管理员”,密码“000000”权限为“管理员”
如图5-2:
5-2用户登录界面
当选择的是权限为管理员的用户
点击“登录”,登录成功,进入个人通讯录管理系统,如图5-3:
5-3管理员管理面板
当选择的是权限为普通用户的用户
点击“登录”,登录成功,进入个人通讯录管理系统,如图5-4:
5-4普通用户管理面板
进入管理员管理面板进行如下操作:
此三个功能为管理员对普通用户的添加、删除、修改等功能的操作。
此四个功能为管理员对普通用户中联系人的添加、删除、修改等功能的操作。
此二个功能为管理员返回至登陆界面或者退出系统的操作。
下面以管理员管理面板中的管理员对普通用户的联系人的管理功能为主来介绍。
点击管理联系人功能中的查询联系人功能。
将弹出此窗口。
此窗口是选择查询普通用户的联系人的查询方式。
当选择查看所有联系人信息时,将弹出此窗口,显示所有普通用户的所有联系人。
当选择以联系人姓名查询联系人时,此时输入你要查询的联系人姓名,如沈钊;
会弹出此窗口,用户名栏中会出现所有有沈钊这个联系人的用户,然后选择要查询的是哪个用户的沈钊即可弹出此联系人的信息。
如
其他方式类似,在此便不做详解。
现在介绍第二个功能,添加联系人功能。
当你单击添加联系人功能时,会弹出下面的窗口。
通过用户名栏选择要将联系人添加至那个用户的通讯名单中,如果添加成功会弹出此窗口
当联系人名为空时,会出现下面窗口
在此添加功能就介绍完毕。
现在介绍第三个功能,删除联系人功能。
点击此功能后弹出此窗口,选择要删除哪个用户的联系人。
点击确定之后会弹出此窗口
删除指定联系人会弹出以下窗口
点击“是”弹出以下对话框
点击“否”则弹出以下窗口
现在介绍第四个功能,修改联系人功能。
点击修改联系人功能进入此窗口,选择修改哪个用户下的联系人。
单击确定后会弹出此窗口
添加修改的联系人。
如沈钊,弹出下列窗口,对联系人进行修改。
此为管理联系人功能的所有功能介绍。
其余窗口的代码以此为例进行操作。
六、代码段
6.1登录界面代码
privateJButtongetJButton(){
if(jButton==null){
jButton=newJButton();
jButton.setBounds(newRectangle(90,240,105,31));
jButton.setText("登录");
jButton.addActionListener(newjava.awt.event.ActionListener(){
publicvoidactionPerformed(java.awt.event.ActionEvente){
StringdriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";
StringdbURL="jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=txl";
StringuserName="sa";
StringuserPwd="123456";
ConnectiondbConn=null;
try{
Class.forName(driverName);
dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
Statementstmt=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
Stringsql;
String密码=newString(jPasswordField.getPassword());
intcount=jComboBox.getSelectedIndex();
String用户=newString(jTextField.getText());
if(count==1){
sql="select*fromtxlwherezh='"+用户+"'andmm='"+密码+"'andqx='"+count+"'";
ResultSetrs=stmt.executeQuery(sql);
if(rs.next()){
普通用户主面板sz=new普通用户主面板();
setVisible(false);
sz.setVisible(true);
}
else{
JOptionPane.showMessageDialog(null,"输入有误!
请查看用户名或密码是否正确,再重新输入!
");
}
}
if(count==0){
sql="select*fromtxlwherezh='"+jTextField.getText()+"'andmm='"+密码+"'andqx='"+count+"'";
ResultSetrs=stmt.executeQuery(sql);
if(rs.next()){
管理员主面板sz=new管理员主面板();
setVisible(false);
sz.setVisible(true);
}
else{
JOptionPane.showMessageDialog(null,"输入有误!
请查看用户名或密码是否正确,再重新输入!
");
}
}
}
catch(Exceptione1)
{
e1.printStackTrace();
}
}
});
}
returnjButton;
}
6.2添加用户代码
privateJButtongetJButton(){
if(jButton==null){
jButton=newJButton();
jButton.setBounds(newRectangle(201,25,145,36));
jButton.setText("添加用户");
jButton.addActionListener(newjava.awt.event.ActionListener(){
publicvoidactionPerformed(java.awt.event.ActionEvente){
StringdriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";
StringdbURL="jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=学生";
StringuserName="sa";
StringuserPwd="123456";
ConnectiondbConn=null;
Stringzh=jTextField.getText();
Stringmm=newString(jPasswordField.getPassword());
intqx=jComboBox.getSelectedIndex();
try
{
Class.forName(driverName);
dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
java.sql.Statementst=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
if(zh.equals("")==false&&mm.equals("")==false)
{
Stringsql;
sql="selectzhfromtxlwherezh='"+zh+"'";
ResultSetrs=st.executeQuery(sql);
if(rs.next()){
JOptionPane.showMessageDialog(null,"用户重名,请重新输入用户名");
}
else
{st.executeUpdate("insertintotxlvalues('"+zh+"','"+mm+"','"+qx+"')");
JOptionPane.showMessageDialog(null,"用户添加成功!
");}
/*JOptionPane.showMessageDialog(null,"用户添加失败!
");*/
}
else
JOptionPane.showMessageDialog(null,"用户名或者密码不能为空!
");}catch(Exceptione1)
{
e1.printStackTrace();
}}
});
}returnjButton;}
6.3修改用户密码,删除用户,修改权限代码
6.3.1修改用户密码
privateJButtongetJButton(){
if(jButton==null){
jButton=newJButton();
jButton.setBounds(newRectangle(148,44,111,49));
jButton.setText("修改密码");
jButton.addActionListener(newjava.awt.event.ActionListener(){
publicvoidactionPerformed(java.awt.event.ActionEvente){
StringdriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";
StringdbURL="jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=txl";
StringuserName="sa";
StringuserPwd="123456";
ConnectiondbConn=null;
Stringname=(String)jComboBox.getSelectedItem();
Stringmm1=JOptionPane.showInputDialog("请输入新密码");
Stringmm2=JOptionPane.showInputDialog("请再一次输入新的密码");
try
{
Class.forName(driverName);
dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
Statementst=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
if(mm1.equals(mm2))
{st.executeUpdate("updatetxlsetmm='"+mm1+"'wherezh='"+name+"'");
JOptionPane.showMessageDialog(null,"密码修改成功!
");}
elseJOptionPane.showMessageDialog(null,"第二次输入密码错误,修改失败!
");}
catch(Exceptione1)
{
e1.printStackTrace();
}
}
});
}
returnjButton;
}
6.3.2删除用户
privateJButtongetJButton1(){
if(jButton1==null){
jButton1=newJButton();
jButton1.setBounds(newRectangle(148,104,112,46));
jButton1.setText("删除用户");
jButton1.addActionListener(newjava.awt.event.ActionListener(){
publicvoidactionPerformed(java.awt.event.ActionEvente){
StringdriverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";
StringdbURL="jdbc:
microsoft:
sqlserver:
//localhost:
1433;DatabaseName=txl";
StringuserName="sa";
StringuserPwd="123456";
ConnectiondbConn=null;
Stringname=(String)jComboBox.getSelectedItem();
try
{
Class.forName(driverName);
dbConn=DriverManager.getConnection(dbURL,userName,userPwd);
Statementst=dbConn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
intsc=JOptionPane.showConfirmDialog(null,"是否删除用户?
","删除用户",JOptionPane.YES_NO_OPTION);//删除用户
setVisible(false);
if(sc==JOptionPane.YES_OPTION)//选择确定
{st.executeUpdate("deletefromtxlwherezh='"+name+"'");
JOptionPane.showMessageDialog(null,"删除
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- eclipse 个人 通讯录