文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
武 汉 工 业 学 院
Web高级程序设计 大 作 业 报 告
专业 信息系统与信息管理 学号 0
姓名 吴思敏 日期
一、需求分析
1引言
随着网络与信息技术的发展,很多陌生人之间都有了或多或少的联系。如何更好地管理这些信息是没跟人必须面临的问题,特别是那些很久没有联系的朋友,再次见面无法马上想起关于这个人的记忆,造成一些不必要的尴尬。基于上述种种原因,开发一套通讯录管理系统很重要,我们结合这次课程设计开发以下的通讯录管理系统方案。 2编写目的
本系统主要是为了更好的管理每个人的通讯录,给每个人提供一个井然有序的管理平台,防止手工管理混乱,造成不必要的麻烦。 3功能需求
通过对自己及朋友的通讯录的询问以及了解,一个完整的通讯录管理系统应该包括:数据集模块,登录窗体模块,系统管理模块,主窗体模块,通讯录数据管理模块,信息管理模块,登录信息查询模块。本系统主要实现我们信息的管理,包括我们平时朋友信息的添加、修改、查询和删除,及一些辅助项目的管理,如登录系统用户管理和用户组管理。
二、系统框架
本系统将实现多用户对各自通讯录的管理功能,包括:添加联系人、修改联系人、删除联系人、查找联系人。为了体现多用户的特性,还必须包含一个用户管理子系统,作用是对用户的信息进行管理。具体功能模块如图所示
通讯录管理系统 删登录的处理模块 除处理流程图如图 联 不合法 等待用户输入 接受到用户输入 系 不匹配
用户管理 用户登录 添加联系人 1 修改联系人 人 删除联系人 查找联系人 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
验证数据合法 合法
验证身份 匹配主窗体处理流程图如图 等待用户输入 加载联系人 分组信息
分组数量 加载当前分组 的联系人信息 等待用户命令 添加命令 修改命令 删除命令 查找命令 视图命令 修加加删加新增联系人处理模块 改载载除载新增联系人窗体流程图如图 视添修联查
图加改系找 N 获取配置信息 模 联联人 联禁用添加联 Y 联系人数量 人人人 N 禁用添加分 加载分组信息 等待用户命令 添加命令 添加联系人 三、模块设计 登陆界面的实现 登录窗体如图 主窗体的实现 主窗体设计如图 新增联系人实现 新增联系人设计如图 四、编码实现 存储过程代码 查找联系人模块使用储存过程来搜索数据,查找联系人的储存过程如下 ALTER PROCEDURE [查找联系人] ( 2 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. @name varchar(50), @phone varchar(50), @user varchar(50) ) AS if len(@user)=0 return 1 if len(@name)=0 and len(@phone)=0 begin select 姓名,组别,工作单位,联系电话,电子邮箱? from [联系人] return end if len(@name)<>0 and len(@phone)=0 begin set @name='%'+@name+'%' select姓名,组别,工作单位,联系电话,电子邮箱? from [联系人] where 姓名 like @name return end if len(@name)=0 and len(@phone)<>0 begin select姓名,组别,工作单位,联系电话,电子邮箱? from [联系人] where 联系电话 like @phone return end if len(@name)=0 and len(@phone)<>0 begin select姓名,组别,工作单位,联系电话,电子邮箱? from [联系人] where 联系电话 like @phone and 姓名 like @name return end 登录窗体 实现代码如下 private void btnOK_Click(object sender, EventArgs e) { try { if ( == \ || == \) { MessageBox.Show(\用户名不能为空,登录失败\, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //验证用户 SqlConnection conn = new 3 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. SqlConnection(\通讯录管理系统;uid=sa;pwd=521125;\); StringBuilder sql = new StringBuilder(); sql.AppendFormat(\用户where 用户名=杨雪 and 密码='01'\, , ; SqlCommand cmd = new SqlCommand(sql.ToString(), conn); conn.Open(); int result = Convert.ToInt32(cmd.ExecuteScalar()); conn.Close(); if (result == 1) { //登陆成功 frmMain f = new frmMain(); = ; f.Show(); this.Hide(); } else { MessageBox.Show(\用户名错误!\, \登录失败\, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } catch (Exception ee) { MessageBox.Show(\发生错误!\ + ee.Message, \登录失败\, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } 主窗体 实现代码如下 public partial class frmMain : Form { private string strConn = \通讯录管理系统;uid=sa;pwd=521125;\; public frmMain() { InitializeComponent(); } private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { LoadList(); } 4 文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持. //主窗体加载事件 private void frmMain_Load(object sender, EventArgs e) { LoadGroup(); if ( > 0) { trvGroup.SelectedNode = trvGroup.Nodes[0]; LoadList(); } else { lvContact.Clear(); } } /加载分组信息到TreeView private void LoadGroup() { try { ; SqlConnection conn = new SqlConnection(strConn); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; cmd.CommandText = \组别 from 联系人 where 用户名='\ + tsslUserName.Text + \; conn.Open(); SqlDataReader sdr = cmd.ExecuteReader(); while (sdr.Read()) { ; } sdr.Close(); conn.Close(); } catch { } } //加载当前分类的联系人信息 private void LoadList() { if ( == 0) { lvContact.Clear(); return; 5