通讯录管理系统
- 格式:doc
- 大小:368.00 KB
- 文档页数:21
通讯录管理系统设计报告一、引言通讯录在日常生活中扮演着重要的角色,用来存储和管理各种联系人信息,方便人们随时找到需要联系的人或组织。
随着移动互联网的普及,通讯录的管理变得更加便捷和高效。
为了提高通讯录的管理效率,我们设计并开发了一款通讯录管理系统。
二、系统概述通讯录管理系统是一个基于Web的应用程序,用户可以通过浏览器访问系统,进行通讯录的管理操作。
系统主要包括以下功能:•用户登录与注册:用户可以注册新账号,并通过账号密码登录系统。
•联系人管理:用户可以添加、编辑、删除联系人信息,包括姓名、电话号码、邮箱等。
•分组管理:用户可以创建分组并将联系人归类到不同分组。
•搜索功能:用户可以通过关键词搜索联系人信息。
•导出和导入功能:用户可以将联系人信息导出为Excel表格,并可以通过Excel文件导入联系人到系统中。
三、系统架构通讯录管理系统采用了前后端分离的架构,前端使用Vue.js框架开发,提供友好的用户界面;后端使用Node.js和Express框架搭建RESTful API,负责数据的存储和管理。
系统中的数据存储在MySQL数据库中,用户的密码使用bcrypt进行加密存储,确保用户信息的安全性。
同时,系统对用户权限进行了细致管理,保障用户在系统中的数据安全。
四、系统界面系统的界面设计简洁直观,用户可以轻松进行操作。
主要包括登录页面、通讯录首页、联系人管理页面、分组管理页面等。
用户登录页面:[登录页面截图]通讯录首页:[通讯录首页截图]联系人管理页面:[联系人管理页面截图]五、系统特色•简洁高效:系统操作简单直观,提供了快速的联系人管理功能。
•个性化定制:用户可以根据自己的需求创建分组,快速查找联系人。
•数据安全:采用了加密技术和权限管理,确保用户数据的安全性。
•导入导出功能:支持Excel文件导入导出,方便用户管理大批量联系人信息。
六、未来展望通讯录管理系统将继续进行优化和迭代,引入更多智能化功能,如联系人推荐、消息提醒等,提升用户体验。
数据结构通讯录管理系统数据结构通讯录管理系统1、引言1.1 目的和范围本文档旨在详细描述一个通讯录管理系统的设计和实现,以便帮助开发人员了解系统的功能和特性。
本系统可以用于存储和管理个人联系信息,实现添加、删除、修改和查询等功能。
1.2 定义、缩略语和缩写词- 通讯录:存储个人联系信息的系统。
- 系统:通讯录管理系统。
2、总体概述2.1 系统背景通讯录管理系统是为了方便用户管理个人联系信息而开发的软件。
它提供了一系列功能,包括添加联系人、删除联系人、修改联系人信息以及搜索联系人等。
该系统旨在提供一个高效、方便和可靠的通讯录管理解决方案。
2.2 产品功能- 添加联系人:用户可以添加新的联系人,并输入其姓名、方式号码、电子邮箱等信息。
- 删除联系人:用户可以删除已经存在的联系人。
- 修改联系人信息:用户可以修改已经存在的联系人的姓名、方式号码、电子邮箱等信息。
- 搜索联系人:用户可以根据姓名、方式号码等信息搜索联系人。
- 显示所有联系人:系统可以显示所有已经存在的联系人。
2.3 用户特点通讯录管理系统的主要用户群体为个人用户,他们需要管理自己的联系人信息。
这些用户对于系统的易用性、稳定性和功能性要求较高,因此系统需要提供简单直观的用户界面,并保证操作的正确性和数据的安全性。
3、系统需求3.1 功能需求3.1.1 添加联系人- 用户可以输入联系人的姓名、方式号码、电子邮箱等信息进行添加。
- 系统应该对输入进行合法性检查,确保输入的信息符合格式要求。
- 添加联系人后,系统应该将联系人信息保存到数据库中。
3.1.2 删除联系人- 用户可以删除已经存在的联系人。
- 删除联系人后,系统应该将联系人信息从数据库中删除。
3.1.3 修改联系人信息- 用户可以修改已经存在的联系人的姓名、方式号码、电子邮箱等信息。
- 系统应该对输入进行合法性检查,确保输入的信息符合格式要求。
- 修改联系人信息后,系统应该将修改后的联系人信息保存到数据库中。
学生通讯录管理系统问题描述概述及解释说明1. 引言1.1 概述在现代教育环境中,学生通讯录管理系统作为一个重要的信息管理工具发挥着重要作用。
学生通讯录管理系统通过集成和管理学生的联系方式,提供了便捷而高效的沟通渠道,帮助教师、家长和学生之间更好地交流和合作。
然而,在当前的学生通讯录管理系统中,仍存在一些问题需要解决。
1.2 文章结构本文将以学生通讯录管理系统问题描述为主线,分析当前存在的问题,并进行功能需求分析和技术需求分析。
随后,将介绍解决这些问题的系统设计思路,并详细说明实现方法与技术选型。
最后,将展望该系统的预期效果与优化方向,并总结回顾问题与解决方案。
同时还将对学生通讯录管理系统的发展前景进行展望,并探讨可能遇到的挑战及应对策略。
1.3 目的文章旨在全面深入地分析学生通讯录管理系统存在的问题,并针对这些问题提出相应解决方案。
通过明确功能需求和技术需求,可以有效改进学生通讯录管理系统并提升其性能和用户体验。
同时,对该系统的发展前景进行展望,可以为相关研究和实践提供有价值的参考。
此外,对可能遇到的挑战及应对策略的探讨也能为系统的进一步发展和改善提供指导。
通过本文的撰写与阐述,旨在促进学生通讯录管理系统的健康发展并推动教育信息化建设。
2. 学生通讯录管理系统问题描述:2.1 当前存在的问题:学生通讯录管理系统是一种用于记录学生联系信息的应用程序。
然而,在当前的系统中,存在一些问题需要解决。
首先,当前的系统使用传统的纸质或电子表格来管理学生的联系信息。
这种方式存在很多弊端,包括信息难以集中存储和查找困难。
纸质通讯录易于丢失和误用,电子表格则需要手动编辑和更新。
这些都导致了信息不准确、不及时和难以管理。
其次,当前系统对于数据的搜索功能不够灵活和高效。
当需要查找某个特定学生的联系信息时,用户可能需要浏览整个通讯录或进行复杂的筛选操作。
这样会花费大量时间和精力,并且增加了出错的风险。
另外,当前系统缺乏有效的权限控制机制。
通讯录管理系统绪论在时代不断发展的今天,很多东西都在不断的进步,当然,信息的发展也在不断的随着进步起来,因此,我们所要研究的课题信息管理系统也在向我们缓缓走来,并且涉及到很多的领域,以至于涉及到很多的方面,从大的来讲可以涉及到公司企业的系统的管理,从小的方面来讲可以涉及到单个人的联系方式的管理等等,并且随着时代不断的发展,还会涉及到更多的领域。
1引言1.1课题简介:所谓通讯录管理系统,其实就是在世界上的每个社会上的成员作为用户来说,在他的通讯录的联系人存储中保存他所有联系人的信息的管理,以及时一个管理信息的系统。
它所管理的内容对于每一个用户来说都是非常非常重要的,所以,这个所谓的通讯录管理系统必须能够具有很多很强的功能,其中包括对我们所需要的信息必须是完整的,当然对我们也必须是非常有用的,并且它还应该具有随时并且很快查询出我们所要信息的功能,从而用户使用的一个合理的,提供了很大的方便。
1.2开发的意义:当今我们面临着科技的一直提高,计算机科学技术已经逐渐趋向成熟,网上通讯工具的迅速发展,它的功能如此强大以至于已经被人们深刻认识,并且它已经逐渐开始走进人类的社会,与此同时它的地位也在很多的领域发挥着很到的作用。
单纯的从计算机这个方面来说,由于这个领域还很小,所以要使用它来实现我们所需的铜须路的管理,具有太多别的方式不能达到的优点,其中这些优点包括很快的检查速度、便利的查找、存储的容量要足够大、意思安全性也要很强、但所需的费用必须合理,尽可能的很低等等。
这些优点使得通讯录管理的效率得到了很大的提高。
所以从以上的分析可以看出,要开发这样一套软件来管理我们的系统这件事是很有必要的,因此,我感觉这也是锻炼我在将理论运用到现实社会生活中的一次实际的考验,有很大的意义。
我也希望通过本次的涉及能让我达到学为所用,从而让我的学习成为有意义,成为有价值的一种时间上的付出。
1.3开发环境及实现技术1.3.1开发环境:Visual studio 2005,SQL severe1.3.2开发工具简介:Visual Studio 2005(以下简称为VS 2005)是一种很新的开发工具,并且这种工具是由美国的微软公司开发出来的,这种最新的版本具有很多的全新功能,其中这种新的功能体现在很多方面在语言方面的强化,并且它的贡献也有很多,其中更好的执行就是它所提供的一种效能,并且在安全这方面也有了很大提高,他已经成为一种编程环境,并且这种环境的功能是很强大的,也是具有很高端效率的,提供了一种统一的并且集成的环境,它还能够支持很多种编程语言在同样的开发环境编写新程序并且对所编写的应用程序进行调试并加以部署。
学生通讯录管理系统数据结构课程设计一、需求分析在学生通讯录管理系统中,我们需要实现以下功能:1.学生信息的录入与管理2.通讯录信息的增删查改3.数据的持久化存储二、系统设计1. 数据结构设计为了实现学生通讯录管理系统的功能,我们需要设计以下数据结构:•学生信息结构体包括学号、姓名、性别、年龄等字段•通讯录信息结构体包括联系人姓名、电话号码、邮箱等字段2. 算法设计2.1 添加学生信息当用户选择添加学生信息时,系统会要求用户输入学号、姓名、性别、年龄等信息,然后将这些信息存储在学生信息的数据结构中。
void addStudentInfo() {// 读取用户输入的学生信息// 将学生信息存储在学生信息结构体中}2.2 修改通讯录信息用户可以根据联系人姓名查找通讯录信息,并进行修改操作,比如修改电话号码、邮箱等内容。
void modifyContactInfo() {// 根据联系人姓名查找通讯录信息// 用户进行修改操作}2.3 删除通讯录信息用户可以根据联系人姓名删除通讯录信息。
void deleteContactInfo() {// 根据联系人姓名删除通讯录信息}3. 数据存储设计为了持久化存储数据,我们可以选择使用文件存储或数据库存储。
在本系统中,我们选择文件存储的方式,数据以文本的形式存储在文件中。
三、系统实现通过以上设计,我们可以开始实现学生通讯录管理系统。
在实现过程中,我们需要注意保证数据结构的正确性和数据操作的合法性,从而确保系统的稳定性和可靠性。
四、总结通过本次数据结构课程设计,我们深入了解了学生通讯录管理系统的实现原理和功能设计。
在接下来的学习中,我们将继续努力提升自己的编程能力,不断完善系统的功能和性能,为实现更多复杂系统打下坚实的基础。
通讯录管理系统一、引言随着科技的不断发展,电子设备的运用愈发广泛,通讯工具也从最早的电话、传真、邮件演变到如今的移动电话、微信等APP软件。
同时,人们通讯的宽带和速度也得到了很大的进步,这里提到的速度指的是通讯的速度和传输的速度。
在日常生活中,人们需要不断联系和交流,而一个完善的通讯管理系统能够辅助人们做到这一点。
二、通讯录管理系统的概述通讯录管理系统是一个集成化的系统,它包括通讯录的建立、搜索、编辑、删除等基本功能,同时也有通讯录的导入、导出、备份、恢复等高级功能。
对于个人而言,通讯录管理系统是一个非常有用的工具,可以让我们对日常生活中的联系人实现精细化管理。
对于企业和组织而言,通讯录管理系统则是一个不可或缺的管理工具,它可以让企业和组织对内外联系人进行统一管理,提高工作效率,实现快速响应与灵活沟通。
三、通讯录管理系统的需求分析1. 用户管理需求通讯录管理系统的用户一般包括个人、企业和组织等,他们的管理需求有所不同,例如个人通讯录管理系统需要支持用户自主导入、导出、备份、恢复,企业通讯录管理系统需要支持管理员进行用户管理和权限控制等。
2. 数据整合需求通讯录管理系统需要支持将人员信息从不同的来源整合到一个集中的库中,这可以通过数据导入、数据同步、数据抓取等方式实现。
3. 可扩展性和可定制化需求通讯录管理系统应该具有良好的可扩展性和可定制化的能力,以满足企业和组织不同的需求。
4. 安全性需求通讯录管理系统需要具有安全性,防止数据泄漏和恶意攻击等安全问题,同时还要实现数据备份、数据恢复等功能。
五、通讯录管理系统的设计1. 系统结构设计通讯录管理系统应该是一个分层结构的系统,分为表示层、业务层、数据访问层和数据存储层四个层级。
其中,表示层为用户提供了用户界面,业务层处理用户请求,数据访问层为业务层提供数据访问接口,数据存储层则负责数据存储管理。
2. 系统模块设计通讯录管理系统主要包括三个模块:用户管理模块、通讯录管理模块和数据备份恢复模块。
引言概述:通讯录管理系统是一种用于管理联系人信息的软件,它能够为用户提供便捷的联系人管理和信息查询功能。
本文将继续介绍通讯录管理系统的设计和实现,重点关注系统的用户界面设计、数据存储与管理、通讯录的分类与搜索功能、用户权限管理以及通讯录系统的扩展与升级。
正文内容:1.用户界面设计1.1设计原则:用户友好性、易用性和美观性原则1.2主界面设计:主界面布局、功能模块展示、导航设计1.3交互设计:交互方式、操作流程、反馈机制1.4响应式设计:适配多种设备和屏幕分辨率2.数据存储与管理2.1数据库设计:确定实体和属性、建立表结构、定义关系2.2数据库连接:连接数据库、读写操作、异常处理2.3数据备份与恢复:数据备份策略、备份文件管理、数据恢复机制2.4数据安全性:权限控制、数据加密、数据完整性3.通讯录的分类与搜索功能3.1通讯录分类:基本分类和用户自定义分类3.2联系人添加与编辑:输入验证、字段定义、数据关联3.3联系人查询:关键字查询、条件过滤、多条件组合查询3.4联系人导入导出:支持多种数据格式、数据匹配与转换、导入导出策略3.5通讯录分享与同步:用户权限设置、跨设备同步、冲突解决4.用户权限管理4.1用户注册与登录:用户信息获取、身份验证、登录状态管理4.2用户权限分配:管理员与普通用户权限区分、权限控制细化4.3用户信息管理:个人信息修改、密码重置、账号注销4.4安全性保护:登录失败锁定、密码加密、会话管理5.通讯录系统的扩展与升级5.1模块化设计:可插拔式功能模块、模块间接口定义5.2扩展性设计:支持插件开发、动态加载与卸载5.3性能优化:数据索引优化、查询优化、缓存机制5.4系统升级:版本管理、更新提示、升级策略总结:通过上述的详细阐述,我们可以看到,通讯录管理系统涵盖了用户界面设计、数据存储与管理、通讯录的分类与搜索功能、用户权限管理以及通讯录系统的扩展与升级等多个关键领域。
在该系统的设计过程中,我们需要重点关注用户友好性、数据安全性和系统的可扩展性。
客户通讯录管理系统客户通讯录管理系统是一种用于管理客户联系信息的工具。
随着商业活动的不断发展,企业和个人需要与更多的客户进行沟通和交流。
为了更好地管理和维护这些客户关系,客户通讯录管理系统应运而生。
客户通讯录管理系统可以帮助用户有效地记录客户的基本信息、联系方式和交流记录。
通过这个系统,用户可以轻松地查找和管理大量的客户信息,提高工作效率和客户满意度。
下面将详细介绍客户通讯录管理系统的功能和优势。
首先,客户通讯录管理系统有着完善的客户信息管理功能。
用户可以便捷地录入每个客户的姓名、性别、职务、公司名称等基本信息。
同时,用户还可以添加客户的联系方式,包括电话号码、电子邮箱和社交媒体账号等。
这些信息将帮助用户更好地了解客户,并为与客户的沟通提供准备。
其次,客户通讯录管理系统提供了方便的客户交流记录功能。
用户可以在系统中记录每次与客户的交谈内容、会议纪要或邮件对话等。
这些交流记录有助于用户随时回顾与客户的沟通过程,了解客户需求和喜好,从而更好地与客户建立和维护良好的关系。
另外,客户通讯录管理系统还提供了智能搜索和筛选功能。
用户可以根据关键词、客户类别或其他条件来快速搜索和筛选符合要求的客户信息。
这样一来,用户在处理大量客户信息时,可以更加高效地找到目标客户,减少时间和劳动成本。
此外,客户通讯录管理系统还支持定制化功能。
用户可以根据自己的需求,自定义字段、标签和分类,以便更好地组织和管理客户信息。
同时,系统还可以根据用户的操作习惯和喜好,提供个性化的推荐和提示,增强用户体验。
客户通讯录管理系统的使用还具有较高的安全性和可靠性。
用户的客户信息会受到严格的保密,只有经过授权的人员才能访问和修改。
同时,系统的数据备份和存储机制保证了用户信息的安全和可靠。
总的来说,客户通讯录管理系统是一种非常实用和便捷的工具,可以帮助用户更好地管理和维护客户关系。
通过准确记录和快速查找客户信息,用户可以更高效地开展业务活动,提升与客户的沟通和合作效果。
一、实验目的本次实验旨在通过C语言编程,实现一个通讯管理系统,以巩固和加深对C语言基本知识的理解和掌握,提高编程和程序调试的基本技能,并锻炼运用C语言解决实际问题的能力。
二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 编程语言:C语言三、实验内容本实验设计了一个基于C语言的通讯管理系统,主要包括以下功能:1. 联系人信息的录入与存储;2. 联系人信息的浏览;3. 联系人信息的查询(按姓名、电话、邮箱查询);4. 联系人信息的删除;5. 联系人信息的修改;6. 通讯录信息的保存与加载。
四、实验步骤1. 创建一个结构体`Contact`来存储联系人信息,包括姓名、电话、邮箱等字段。
```ctypedef struct {char name[50];char phone[20];char email[50];} Contact;```2. 设计一个函数`AddContact`用于添加联系人信息。
```cvoid AddContact(Contact contacts, int size) {Contact newContact;printf("请输入姓名:");scanf("%s", );printf("请输入电话:");scanf("%s", newContact.phone);printf("请输入邮箱:");scanf("%s", newContact.email);contacts[size] = newContact;(size)++;}```3. 设计一个函数`DisplayContacts`用于显示所有联系人信息。
```cvoid DisplayContacts(Contact contacts, int size) {for (int i = 0; i < size; i++) {printf("姓名:%s,电话:%s,邮箱:%s\n", contacts[i].name, contacts[i].phone, contacts[i].email);}}```4. 设计一个函数`SearchContact`用于查询联系人信息。
通讯录管理系统一、目标根据实际需要,设计并实现通讯录管理系统。
该系统提供多用户的通讯录管理,并能对通讯录的联系人分组。
二、功能需求本系统实现的主要功能如下:(1)登录(2)添加联系人、(3)修改联系人、(4)删除联系人、(5)查找联系人。
(6)用户的信息进行管理。
三、系统模块设计四、数据库结构设计1、表名:用户。
作用:存储登录用户的用户名和密码。
表中各字段的描述如表所示。
2、表名:联系人。
作用:存储联系人的信息。
表中各字段的描述如表所示。
五、详细设计1.登录模块(1)模块设计登录窗体是客户端程序运行后显示的第一个窗体,用于验证用户的身份。
如图所示:(2)程序代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace PhoneBook{public partial class frmLogin : Form{public frmLogin(){InitializeComponent();}private void btnCancel_Click(object sender, EventArgs e) {Application.Exit();}private void btnOK_Click(object sender, EventArgs e){try{//检测文本框内容if (txtUserName.Text.Trim() == "" || txtPassword.Text.Trim() == ""){MessageBox.Show("用户名和密码不能为空!","登录失败",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}//验证用户SqlConnection conn = new SqlConnection();conn.ConnectionString = "Data Source=PC-201112160941\\SQLEXPRESS;Initial Catalog=PhoneBook;Integrated Security=True";conn.Open();string sql = "select count(*) from 用户where 用户名='"+txtUserName.Text.Trim()+"' and 密码='"+txtPassword.Text.Trim()+"'";SqlCommand cmd = new SqlCommand();cmd.Connection=conn;mandText=sql;int result = Convert.ToInt32(cmd.ExecuteScalar());conn.Close();if (result == 1){//登录成功frmMain f = new frmMain();f.tsslUserName.Text = txtUserName.Text.Trim();f.Show();this.Hide();}else{MessageBox.Show("用户名和密码错误!", "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Error);return;}}catch (Exception ee){MessageBox.Show("发生错误/r/n"+ee.Message, "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Error);return;}}private void frmLogin_Load(object sender, EventArgs e){}}}2主窗体模块(1)模块设计主窗体是衔接各个子窗体的桥梁。
用户可以通过主窗体找到各个操作的入口,例如,用户想添加一个联系人,就可以点击工具栏的“新增”按钮,或者也可以点击菜单栏的“联系人”-“新增…”菜单项,这时,主窗体会将添加联系人的子窗体显示,供用户操作。
如图所示:(2)程序代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;using System.Configuration;namespace PhoneBook{public partial class frmMain : Form{public frmMain(){InitializeComponent();}private string strConn =System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];private void frmMain_Load(object sender, EventArgs e){LoadGroup();if (trvGroup.Nodes.Count > 0){trvGroup.SelectedNode = trvGroup.Nodes[0];LoadList();}else{lvContact.Clear();}}private void LoadGroup(){try{trvGroup.Nodes.Clear();SqlConnection conn = new SqlConnection(strConn);SqlCommand cmd = new SqlCommand();cmd.Connection = conn;mandText = "select distinct 组别from 联系人where 用户名='"+tsslUserName.Text+"'";conn.Open();SqlDataReader sdr = cmd.ExecuteReader();while (sdr.Read()){trvGroup.Nodes.Add(sdr[0].ToString());}sdr.Close();conn.Close();}catch{ }}private void LoadList(){if (trvGroup.Nodes.Count == 0){lvContact.Clear();return;}if (trvGroup.SelectedNode.Index >= 0){string strGroup = trvGroup.SelectedNode.Text;try{lvContact.Clear();lvContact.Columns.Add("姓名",100);lvContact.Columns.Add("工作单位", 150);lvContact.Columns.Add("联系电话", 100);lvContact.Columns.Add("电子邮箱", 150);SqlConnection conn = new SqlConnection(strConn);SqlCommand cmd = new SqlCommand();cmd.Connection = conn;mandText = "select 编号,姓名,工作单位,联系电话,电子邮箱from 联系人where 组别='" + strGroup + "' and 用户名='" + tsslUserName.Text + "'";conn.Open();SqlDataReader sdr = cmd.ExecuteReader();int count = 0;while (sdr.Read()){ListViewItem lvi = new ListViewItem();lvi.Text = sdr["姓名"].ToString();lvi.SubItems.Add(sdr["工作单位"].ToString());lvi.SubItems.Add(sdr["联系电话"].ToString());lvi.SubItems.Add(sdr["电子邮箱"].ToString());lvi.Tag = sdr["编号"];lvi.ImageIndex = 0;lvContact.Items.Add(lvi);count++;}tsslCount.Text = "共计"+count.ToString()+"个联系人";sdr.Close();conn.Close();}catch{ }}}private void frmMain_FormClosed(object sender, FormClosedEventArgs e){Application.Exit();}private void trvGroup_AfterSelect(object sender, TreeViewEventArgs e){LoadList();}private void详细信息ToolStripMenuItem_Click(object sender, EventArgs e) {lvContact.View = View.Details;}private void详细信息ToolStripMenuItem1_Click(object sender, EventArgs e) {lvContact.View = View.Details;}private void图标ToolStripMenuItem_Click(object sender, EventArgs e){lvContact.View = rgeIcon;}private void图标ToolStripMenuItem1_Click(object sender, EventArgs e){lvContact.View = rgeIcon;}private void Add(){frmAdd f = new frmAdd();if (f.ShowDialog(this) == DialogResult.OK){LoadGroup();if (trvGroup.Nodes.Count > 0){trvGroup.SelectedNode = trvGroup.Nodes[0];LoadList();}else{lvContact.Clear();}}}private void Edit(){if (lvContact.SelectedItems.Count == 1){int id = Convert.ToInt32(lvContact.SelectedItems[0].Tag);frmEdit f = new frmEdit(id);if (f.ShowDialog(this) == DialogResult.OK){LoadGroup();if (trvGroup.Nodes.Count > 0){trvGroup.SelectedNode = trvGroup.Nodes[0];LoadList();}else{lvContact.Clear();}}}}private void Delete(){if (lvContact.SelectedItems.Count < 1){return;}if (MessageBox.Show("是否要删除选中的联系人?", "删除确认",MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {string strWhere = " where 编号in (";foreach (ListViewItem lvi in lvContact.SelectedItems) {strWhere += lvi.Tag.ToString() + ",";}strWhere = strWhere.Substring(0, strWhere.Length - 1); strWhere += ")";try{SqlConnection conn = new SqlConnection(strConn);SqlCommand cmd = new SqlCommand();cmd.Connection = conn;mandText = "delete from 联系人" + strWhere; conn.Open();cmd.ExecuteNonQuery();conn.Close();LoadGroup();if (trvGroup.Nodes.Count > 0){trvGroup.SelectedNode = trvGroup.Nodes[0];LoadList();}else{lvContact.Clear();}}catch { }}}private void Search(){frmSearch f = new frmSearch(tsslUserName.Text);f.ShowDialog();}private void tsbtnAdd_Click(object sender, EventArgs e){Add();}private void增加ToolStripMenuItem_Click(object sender, EventArgs e){Add();}private void修改MToolStripMenuItem_Click(object sender, EventArgs e){Edit();}private void tsbtnEdit_Click(object sender, EventArgs e){Edit();}private void删除ToolStripMenuItem_Click(object sender, EventArgs e){Delete();}private void tsbtnDelete_Click(object sender, EventArgs e){Delete();}private void lvContact_MouseDoubleClick(object sender, MouseEventArgs e) {Edit();}private void lvContact_KeyDown(object sender, KeyEventArgs e){if (e.KeyCode == Keys.Delete){Delete();}}private void tsbtnSearch_Click(object sender, EventArgs e){Search();}private void搜索SToolStripMenuItem_Click(object sender, EventArgs e){Search();}private void视图ToolStripMenuItem_Click(object sender, EventArgs e){}}}3.新增联系人模块(1)模块设计在本模块中,通过搜集用户输入联系人的各项信息(姓名、电话必填,其余可为空),向数据库中的联系人表添加记录。