用数据库实现通讯录管理,主要功能:

1.分组管理

设计分组方案(如分组类型包括家庭、朋友、同学等),设计创建分组数据表,实现对分组的增删查改。

2.通讯录管理

设通讯录信息主要包括:姓名、性别、单位、手机号、分组(家庭、朋友、同学等)、微信号、备注等。设计创建有关数据表,并实现下列功能。

(1)添加联系人。

(2)查询联系人:可按姓名、手机号等进行查询,可模糊查询,并进行排序。

(3)删除联系人。

(4)修改联系人信息。

(5)输出联系人列表。

3.分组统计

可按分组统计每组联系人数。

开发工具与语言:工具自选,语言采用所学Java;

用数据库存储数据。

目  录

摘 要

第1章   概述

1.1程序开发背景

1.2程序的功能

1.3开发的目的

第2章   系统分析

2.1问题描述

2.2技术分析

2.3需求分析

第3章   数据库分析与设计 4

3.1实体设计 4

3.2关系设计 5

3.3数据表设计 6

第4章   系统实现................................................................................................................8

4.1创建联系人数据库 8

4.2用户登录 9

4.3添加联系人 10

4.4删除联系人.........................................................................................................................11

4.5修改联系人信息.................................................................................................................12

4.5.1修改联系人的手机号................................................................................................12

4.5.2修改联系人的姓名...................................................................................................13

4.5.3修该联系人的微信号..............................................................................................14

4.5.4修改联系人的分组..................................................................................................15

4.6输出联系人列表...............................................................................................................16

4.7输出各组人数...................................................................................................................16

第5章  结束语...................................................................................................................18

参考文献 19

指导老师评语 20

3.1概念模型设计

根据分析该系统的实体包括:用户、联系人、分组、朋友、家庭、同学,再根据概念模型设计E-R图。

图3-1 联系人实体图

图3-2 分组实体图

图3-3 朋友实体图

图3-4 家庭实体图

图3-5 同学实体图

图3-6 用户实体图

代码如下:

package 二级课题;
import java.util.*;
import java.sql.*;
public class 联系人表 {public static void main(String[] args) throws ClassNotFoundException {//连接数据库Class.forName("com.mysql.cj.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/list";String user = "root";String pass = "guojintao2002";//用户登录Scanner sc = new Scanner(System.in);System.out.println("请输入用户名和密码:");String username = sc.nextLine();String password = sc.nextLine();if ((username.equals(user)) && (password.equals(pass))) {System.out.println("登录成功");} else {System.out.println("用户名或密码错误");}Connection connection = null;Statement statement = null;PreparedStatement pre = null;ResultSet rs = null;try {connection = DriverManager.getConnection(url, username, password);statement = connection.createStatement();System.out.println("请选择功能序号");int i = sc.nextInt();switch (i) {//添加联系人case 1:System.out.println("请依次输入所要添加的联系人的手机号、姓名、性别、微信号、分组");Scanner w = new Scanner(System.in);String ph1 = w.nextLine();String na1 = w.nextLine();String se1 = w.nextLine();String vv1 = w.nextLine();String fe1 = w.nextLine();String sql1 = "insert into lists(phone,name,sex,v,fen)values(?,?,?,?,?)";pre = connection.prepareStatement(sql1);pre.setString(1, ph1);pre.setString(2, na1);pre.setString(3, se1);pre.setString(4, vv1);pre.setString(5, fe1);pre.executeUpdate();System.out.println("添加成功");break;//删除联系人case 2:System.out.println("请输入想要删除联系人的手机号");Scanner q = new Scanner(System.in);String ph2 = q.nextLine();String sql2 = "delete from lists where phone='" + ph2 + "'";int num2 = statement.executeUpdate(sql2);if (num2 > 0) {System.out.println("删除成功");}break;//修改联系人的手机号case 3:Scanner s = new Scanner(System.in);System.out.println("请输入该联系人新的手机号");String ph3 = s.nextLine();System.out.println("请输入该联系人的微信号");String v3 = s.nextLine();String sql3 = "update lists set phone='" + ph3 + "' where v='" + v3 + "'";int num3 = statement.executeUpdate(sql3);if (num3 > 0) {System.out.println("修改成功");}break;//修改联系人的姓名case 4:Scanner e = new Scanner(System.in);System.out.println("请输入该联系人的新姓名");String na4 = e.nextLine();System.out.println("请输入该联系人的微信号");String v4 = e.nextLine();String sql4 = "update lists set name='" + na4 + "' where v='" + v4 + "'";int num4 = statement.executeUpdate(sql4);if (num4 > 0) {System.out.println("修改成功");}break;//修改联系人的性别/*case 5:Scanner r=new Scanner(System.in);String se5=r.nextLine();String v5=r.nextLine();String sql5="update lists set sex='"+se5+"' where v='"+v5+"'";int num5=statement.executeUpdate(sql5);if(num5>0){System.out.println("修改成功");}break;*///修改联系人的微信号case 5:Scanner t = new Scanner(System.in);System.out.println("请输入该联系人新的微信号");String v6 = t.nextLine();System.out.println("请输入该联系人的手机号");String ph6 = t.nextLine();String sql6 = "update lists set v='" + v6 + "' where phone='" + ph6 + "'";int num6 = statement.executeUpdate(sql6);if (num6 > 0) {System.out.println("修改成功");}break;//修改联系人的分组case 6:Scanner y = new Scanner(System.in);System.out.println("请输入该联系人新的分组");String fe7 = y.nextLine();System.out.println("请输入该联系人的微信号");String v7 = y.nextLine();String sql7 = "update lists set fen='" + fe7 + "' where v='" + v7 + "'";int num7 = statement.executeUpdate(sql7);if (num7 > 0) {System.out.println("修改成功");}break;//查找联系人case 7:String sql8 = "select * from lists";rs = statement.executeQuery(sql8);while (rs.next()) {String phone = rs.getString(1);String name = rs.getString(2);String sex = rs.getString(3);String v = rs.getString(4);String fen = rs.getString(5);System.out.println(phone + "|" + name + "|" + sex + "|" + v + "|" + fen);}break;//计算每组人数case 8:String sql9 = "select fen,count(fen) from lists group by fen";rs = statement.executeQuery(sql9);while (rs.next()) {String fen = rs.getString(1);int count = rs.getInt(2);System.out.println(fen + ":" + count + "人");}break;default:System.out.println("没有该功能");break;}} catch (SQLException throwables) {throwables.printStackTrace();} finally {// 关闭资源try {if (rs != null) {rs.close();}if (statement != null) {statement.close();}if (pre != null) {pre.close();}if (connection != null) {connection.close();}} catch (SQLException throwables) {throwables.printStackTrace();}}}}

通讯录管理系统程序开发相关推荐

  1. 萌新首发,C/C++(通讯录管理系统)希望大家多多关注、点赞

    通讯录管理系统 前言 一.通讯录管理系统的开发 1.开发该系统的前期准备 (1)菜单格式 (2)联系人结构体的创建 ( 3)通讯录结构体的创建 (4)实现main的基本功能 2.通讯录中各个功能的实现 ...

  2. 如何利用C#开发“通讯录”小程序

    本文介绍了数理系15级魏道鑫同学汇报的成果,利用C#开发的通讯录小程序.

  3. 【黑马程序员 C++教程从0到1入门编程】【笔记2】通讯录管理系统

    黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难 文章目录 1.系统需求 2.创建项目 2.1 创建项目 3.菜单功能 4.退出功能 5.添加联系人 5.1 设计联系人结构体 5.2 设 ...

  4. Java通讯录管理系统使用线性表任务台程序

    下载点此去 运行截图: 我自己选择的是通讯录管理系统,该设计采用菜单作为应用程序的主要界面,用控制语句来改变程序执行的顺序,控制语句是实现结构化程序设计的基础.该设计的任务是利用一个简单实用的菜单,通 ...

  5. 学校智慧校园平台管理系统小程序开发制作

    学校智慧校园平台管理系统小程序开发制作 智慧校园服务的蓝海市场正在等待开发的状态中,而小程序恰好是一体化校园平台抢占这个市场的最佳方式. 学校校园平台小程序提供在校大学生和老师校园智慧服务的小程序应用 ...

  6. C#结合数据库开发通讯录管理系统

    通讯录管理系统,数据库关系模式为:账户(账户名,登录密码,头像),联系人(ID,姓名,电话,QQ,Email).主要功能包括:注册,登录,注销账号,修改账户名以及密码,更换头像,以及对联系人的增删改查 ...

  7. 《黑马程序员》通讯录管理系统实战

    通讯录管理系统 想直接看源码直达:https://blog.csdn.net/Augenstern_QXL/article/details/116982366 更新:源码我设置的是0cb/积分下载,但 ...

  8. winform停车场收费管理系统VS开发sqlserver数据库CS结构c#编程源码程序

    一.源码特点        winform停车场收费管理系统是一套完善的桌面程序,设计管理系统,系统具有完整的代码数据库,系统主要采用B/S模式开发. 应用技术:winform c#+sqlserve ...

  9. 毕业设计:微信小程序健康管理系统的开发与实现

    作者主页:编程指南针 作者简介:Java领域优质创作者.CSDN博客专家 .掘金特邀作者.多年架构师设计经验.腾讯课堂常驻讲师 主要内容:Java项目.毕业设计.简历模板.学习资料.面试题库.技术互助 ...

最新文章

  1. 【Step1】【floyd】poj1125-Stockbroker Grapevine
  2. 易语言mysql线程池数量_线程池最佳线程数量到底要如何配置?
  3. BeanFactory和FactoryBean
  4. 【线段树】 SPOJ 2713 Can you answer these queries IV
  5. eclipse lombok插件安装_Eclipse安装virgo插件
  6. vb代码转换为java_有人可以解释如何使用JACOB将VB代码转换为Java吗?
  7. loadrunner:关联操作
  8. 大数据分析如何助力制造行业
  9. 【msdn】配置 ReportViewer 以进行远程处理
  10. Springboot+ Mybatis搭建学习
  11. Java 正则表达式的用法和实例
  12. Data Structure - Quadratic Probing Hash Table (Java)
  13. GICv3_LPI机制
  14. JAVA AIO编程
  15. linux怎么撤销关机命令,Linux的shutdown命令
  16. 7 c4d r20对win_OC渲染器Octane Render V4.0-RC7-R4 for C4D R15-R19-R20 Win/Mac
  17. 明日又天涯——蝶舞萧霞
  18. 小程序基础开发(五):微信支付全套流程
  19. XMind Zen 2020 10.3.1注册使用
  20. LDPC的密度进化 density evolution

热门文章

  1. Oracle 10g 的后台进程..
  2. 网络时间同步服务器(NTP)设备结构说明
  3. ADI最新基带处理芯片 ADRV9026 FPGA 驱动开发及调试记录分享
  4. js公历日期转为农历日期
  5. 在Vue项目中获取当前日期的农历日期(阴历)
  6. 京淘项目Day-04
  7. visio学习使用-软件工程制图
  8. PA10题解报告——玩具(Toy)
  9. 响应式精美列表商城卡密自动发卡网站源码
  10. 离散数学---期末复习题库(上)