毕业设计说明书武汉软件工程职业学院.doc_第1页
毕业设计说明书武汉软件工程职业学院.doc_第2页
毕业设计说明书武汉软件工程职业学院.doc_第3页
毕业设计说明书武汉软件工程职业学院.doc_第4页
毕业设计说明书武汉软件工程职业学院.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计说明书毕业设计说明书 计算机学院 设计课题 网络聊天工具 专业班级 网络 1302 班 学生姓名 聂小泽 学生学号 2013030904 指导教师 鲁 立 日期 2015 年 09 月 08 日 摘摘 要要 作为除电视 报纸 广播之外的第四大媒体 互联网不仅成为人们获 取新闻信息的主要来源 更成为了人们闲暇之余的一种休闲手段 随着互 联网技术的发展 各种各样基于网络的应用也随之诞生 网络聊天工具便 是其中的一种 本文采用 Visual Studio 2008 SQL Server 2005 开发环 境 结合 WinForms ADO NET 等多种技术 实现了一个类似 QQ 的网络聊 天工具 并在 WINDOWS 平台上加以了实现 通过 C 语言进行网络编程 通 过公共的数据库交换各种信息 实现了人性化的界面设计与功能设计 软 件经过测试 满足现代人们即时通信的需求 达到预期的设计效果 对网 络聊天工具的人性化设计具有一定的现实意义 同时也为其他相关项目的 设计提供了参考 关键词 关键词 网络聊天工具 C 即时通信 数据库 人性化 1 目目 录录 第一章 引 言 1 第二章 项目概述 2 2 1 网络聊天工具的概述 2 2 2 系统开发要求 2 2 2 1 开发平台 Microsoft Visual studio 2008 3 2 2 2 数据库 SQL Server 2005 3 第三章 需求分析 3 3 1 系统需求分析 3 3 2 用户需求 3 3 3 性能需求 4 3 4 系统功能需求 4 第四章 概要设计 5 4 1 概述 5 4 2 系统功能模块划分 5 4 2 1 系统功能结构 6 4 2 2 系统整体流程图 6 4 3 数据库设计 7 4 4 逻辑结构设计 8 4 4 1 用户登录表 8 4 4 2 如下图所示各个表之间的关系 8 第五章 用户界面设计 8 5 1 界面设计原则 8 5 2 界面设计 9 5 3 注册界面设计 11 5 4 主界面设计 15 5 5 查找 添加好友界面设计 17 5 6 聊天界面设计 21 5 7 系统消息界面设计 23 2 第六章 结论 25 参考文献 25 致 谢 26 1 第一章第一章引引 言言 当今社会已进入信息时代 信息是当今世界最重要的资源之一 它与物质及能源 一起构成了三大能源支柱 信息高速公路是信息社会的基础设施 而互联网则是信息 高速公路的重要组成部分 在互联网相当普及的今天 你们对网络的依赖越来越大 越来越离不开网络 网 络聊天更是成为了人们的 家常便饭 通过网络聊天工具 人们足不出户就可进行 闲聊甚至工作会谈 极大地方便了人们的日常生活与工作需求 常用的网络聊天工具主要是 QQ 与 MSN MSN 主要用于国际 而国内的主流网 络聊天工具是 QQ QQ 有着非常良好的操作界面 和强大的通信功能 集娱乐 生 活和工作于一身 随着技术的进步 QQ 不仅可以通过宽带网在 PC 上使用 通过手 机也可以实现与好友 同事通信 而无论是 QQ 还是 MSN 都存在一个很大的问题 广告 每次登陆后时不时会弹出一些广告窗口 绝大多数网友都对此感觉厌烦 因此在本次论文的激励下 我决定设计一个类似 QQ 并且无垃圾信息的网络聊天工具 此外也希望通过本次论文能更好地学习与掌握网络软件编程知识 本文的主要工作是设计一个类似 QQ 的网络即时聊天工具 主要是采用 WinForms ADO NET 技术实现 软件功能主要包括用户注册 用户登录 用户间聊 天 查找 添加好友 个人设置等 客户端通过公共的数据库交换信息 消息的发送 和读取都是通过操作数据库来完成的 在程序中采用定时扫描数据库的方式来查找未 读消息 文章首先简介涉及的相关技术与基本知识 然后阐述本软件的功能 再具体 分析软件各个模块的功能及具体实现方法 2 第二章第二章项目概述项目概述 2 2 1 1 网络聊天工具的概述网络聊天工具的概述 在互联网相当普及的今天 你们对网络的依赖越来越大 越来越离不开网络 网 络聊天更是成为了人们的 家常便饭 通过网络聊天工具 人们足不出户就可进行 闲聊甚至工作会谈 极大地方便了人们的日常生活与工作需求 着互联网技术的发展 聊天软件作为即时性通信工具的主流 已被越来越多的人 所喜爱 在中国 上网的用户几乎都用腾讯 QQ 进行聊天 当前腾讯 QQ 的注册帐户 已经超过 4 3 亿 是中国用户最多 最为流行的聊天工具 起初的 QQ 只支持文字聊 天 随着相关技术的发展 腾讯 QQ 也不断的自我完善 增加众多实用的 人性化的 功能 得到了许多用户的支持与喜爱 2 2 2 2 系统开发要求系统开发要求 本次开发的网络聊天工具对应操作系统的要求如下 硬件要求 CPU 最低 Intel Pentium II 500 MHz 磁盘空间 250MB 完全安装 155MB 快速安装 内存 512MB 最好 1GB 以上 显示 1024 768 256 色 软件要求 操作系统 Windows 2000 以上的操作系统 2 2 12 2 1 开发平台 开发平台 MicrosoftMicrosoft VisualVisual studiostudio 2002008 8 本系统采用的是的 Microsoft Visual Studio 2008 平台上 ASP NET Web 应用程序 Microsoft Visual Studio 2008 平台拥有许多已安装的模板 要 根据项目的需求选择合适的模板 ASP NET Web 应用程序不仅可以进行控件的 代码编程 还可以对页面进行样式设计 在 ASP NET 页面元素中 除了标准的 Html 标记外 所有控件都运行于服务器端 因此 所有的 ASP NET 控件又被称 为服务器控件 所有的控件都是用类来实现的 也可视为一个对象 因此 每 个控件都有自己的属性 事件和方法 从而实现了在页面上控制页面显示和事 件处理的能力 2 2 22 2 2 数据库 数据库 SQLSQL ServerServer 2002005 5 Microsoft SQL Server 2005 是基于客户 服务器模型的新一代大型关系数 据库管理系统 简称 RDBMS 它对数据库中的数据提供有效的管理 并采 用有效的措施实现数据的完整性及数据的安全性 Microsoft SQL Server 2005 是当前最为流行的数据库管理系统 第三章第三章需求分析需求分析 3 13 1 系统需求分析系统需求分析 开发所需要的平台已经搭建好 并做好了充分的前期准备工作 其次因为 本程序的平台将基于 WINDOWS 将要使用网络通信技术 而 WINDOWS 有 完善成熟的网络通信接口 以及与 C 开发环境的严密契合能力 加之相类似的 更大规模的网络聊天工具产品也已有例在先 所以这个程序的开发在技术上是 完全可行的 3 23 2 用户需求用户需求 随着互联网的普及 网络聊天工具已经成为了人们日常生活中不可缺少 的一部分 根据人们对聊天工具的需求 主要可以概括为以下几点 1 操作简单方便 界面简洁美观 2 能够注册新用户 3 拥有熟悉的聊天界面 4 能够查找 添加好友 5 能够进行个人设置 6 系统运行稳定 安全可靠 3 33 3 性能需求性能需求 首先要求程序要完全可靠 可以应付各种由于系统问题产生的错误 比如 初始网络失败等 要求提前设想到类似的尽可能多的可能发生的事件 做出相 应的应对措施 并向用户提交简单易懂清晰明白的提示信息 程序要有良好的容错性 当用户进行非法操作时或者系统本身出现问题时 要能以最好的方式退出程序 避免发生程序假死现象 开发文档要有好的易理解性 如果系统又要交由别人接手开发 或者自己 由于种种原因需要进行二次开发 那么要保证以后能够清晰的理解整个系统的 设计思路以及实现细节 要求程序对所运行之系统的硬件条件要求尽可能低 运行时内存占用尽可 能小 响应速度要尽可能快 并且不发生内存泄漏之类影响系统运行的错误事 件 并且要求易于维护及扩展 所以应该采用模块化开发 各个模块之间不要 有太多的耦合 以免维护困难 3 43 4 系统功能需求系统功能需求 这个程序要实现的功能如下 1 程序启动之后就能直接进入登陆界面 输入错误时会提示 2 登陆界面有注册新用户选项 点击进入注册界面 3 注册成功后会提示自动生成的 QQ 号码 4 登陆后进入主界面 用户可以添加好友 可以直接查找 也可以按条件 查找 还可以查看所有用户 5 当双击列表中某个用户头像的时候 要弹出聊天对话框 可以在其中编 辑要发送的聊天信息 并进行发送 6 聊天界面要人性化 下面是发送框 上面对方发来的上一条聊天记录 7 可以修改自己的个人资料 也可以更换头像 第四章第四章概要设计概要设计 4 14 1 概述概述 本阶段设计的基本目标是解决系统如何实现问题 也叫做概要设计 本阶 段主要任务是划分出系统的物理元素及设计软件的结构 完成软件定义时期的 任务之后就应该对系统进行总体设计 这些系统和模块又如何有机的结合在一 起 每个模块的功能如何实现 系统设计的目标是使系统实现拥有所要求的功 能 同时 力争达到高效率 高可靠性 可修改性 并且容易掌握 模块化的 依据是 把复杂问题分解成许多容易解决的小问题 模块化设计是把大型软件 按照一定的原则划分成一个较小的相对功能独立又相关联的模块 每个模块完 成一个特定的子功能 把这些模块结合起来组成一个整体 完成指定的功能 满足问题的要求 采用模块化原理的优点在于可以使软件结构清晰 容易测试 和调试 从而提高软件的可靠性 可修改性 有助于软件开发的组织管理 4 24 2 系统功能模块划分系统功能模块划分 登录模块 实现用户登录功能 在没有账号的情况下可以选择进入注册新 用户界面 注册模块 实现注册新用户功能 注册信息包括必填基本资料与选填资料 主模块 实现列表功能 列表包括好友列表与陌生人列表 通过主界面可 以进行聊天功能 也可以打开查找 添加好友功能与个人设置功能等 聊天模块 实现发送消息与接收消息功能 通过公共的数据库交换信息 消息的发送和读取都是通过操作数据库来完成的 在程序中采用定时扫描数据 库的方式来查找未读消息 也能实现删除好友功能 查找 添加好友模块 实现查找好友功能与添加好友功能 主要方法有精确 查找 按条件查找 与查看所有用户 个人设置模块 实现修改个人资料 更换头像模块 实现更换用户头像 系统消息模块 实现添加好友信息的读取 4 2 14 2 1 系统功能结构 系统功能结构 如图 4 2 1 系统功能结构 4 2 24 2 2 系统整体流程图 系统整体流程图 该网络聊天工具系统整体流程图如图 4 2 2 所示 如图 4 2 2 系统整体流程图 4 34 3 数据库设计数据库设计 数据库系统是以数据为中心 在数据库管理系统的支持下进行数据的收集 整理 存储 更新 加工和统计 进行信息查询和传播等操作的计算机系统 数据库的设计既要满足用户的需求 又要与给定的应用环境密切相关 因此必 须采用系统化 规范化的设计方法进行设计 数据库设计是系统设计的一个重 要内容 其设计质量的好坏直接影响系统开发的成败 系统的质量 系统效率 及可维护性 本系统的数据库设计比较简单 只要存储用户注册的信息 用户发帖的信 息和用户回帖的信息即可 该系统采用 SQL Server 2005 作为后台数据库 数 据库名为 lt 本数据库包含 3 个数据表 分别是用户登录表 dl 用户发帖表 tz 用户回帖表rey 4 44 4 逻辑结构设计逻辑结构设计 4 4 14 4 1 用户登录表用户登录表 4 4 4 2 4 2 如下图所示各个表之间的关系如下图所示各个表之间的关系 第五章第五章用户界面设计用户界面设计 5 15 1 界面设计原则界面设计原则 简单易用 简洁明了 兼容性好 标准 规范 5 25 2 界面设计界面设计 在主界面中可以实现用户的登录和注册 当用户运行程序时 首先进入的是登录界面 如图 5 1 所示 图 5 1 登录界面 如果没有账号 则单击 注册新用户 标签 可以打开注册界面 如果有已注册的账号 则在输入账号与密码后 点击 登录 按钮 可以打开 主界面 如果输入有误 则出现图 5 2 所示界面 图 5 2 输入错误 程序也不允许在账号或密码处输入空格字符 如有此情况 则会出现图 5 3 与图 5 4 所示界面 图 5 3 未输入账号 图 5 4 未输入密码 当点击 登录 按钮时 则触发登录按钮事件 其处理流程图如图 5 5 所示 图5 5 登录事件流程图 其中登录按钮的代码实现如下 登录按钮事件处理 private void btnLogin Click object sender EventArgs e bool error false 标志在执行数据库操作的过程中是否出错 如果输入验证成功 就验证身份 并转到相应的窗体 if ValidateInput int num 0 数据库操作结果 t ry 查询用的sql语句string sql string Format SELECT COUNT FROM Users WHERE Id 0 AND LoginPwd 1 int Parse txtLoginId Text Trim txtLoginPwd Text Trim 创建Command 对象 SqlCommand command new SqlCommand sql DBHelper connection 用 户 输入登录数据 扫描数据库中的 Users 表 有该用户且 密码正确 登录成 功 主界面 Y N DBHelper connection Open 打开数据库连接 num Convert ToInt32 command ExecuteScalar catch Exception ex error true Console WriteLine ex Message finally DBHelper connection Close 关闭数据库连接 if error 创建主窗体MainForm mainForm new MainForm mainForm Show 显示窗体 this Visible false 当前窗体不可见 else MessageBox Show 输入的用户名或密码有误 登录提示 MessageBoxButtons OK MessageBoxIcon Error 用户输入验证 private bool ValidateInput 验证用户输入if txtLoginId Text Trim MessageBox Show 请输入登录的号码 登录提示 MessageBoxButtons OK MessageBoxIcon Information txtLoginId Focus return false else if txtLoginPwd Text Trim MessageBox Show 请输入密码 登录提示 MessageBoxButtons OK MessageBoxIcon Information txtLoginPwd Focus return false return true 5 35 3 注册界面设计注册界面设计 当在登录界面点击 注册新用户 标签时 将打开注册界面 如图5 6所示 图5 6 注册界面 其中基本资料为必填资料 详细资料为选填资料 在用户输入完资料后 点击 确认注册 按钮进行注册 其间会对相关的输入进行检查 如果输入不符 合规范 则不允许注册 不会向数据库插入记录 并会提示错误原因 如果输 入正确 则向数据库插入一条用户记录 在数据库中自动生成一个新的登录号 码 Users表的Id字段 以消息框的形式告诉用户申请成功的号码 其流程图 如图5 7所示 其中确认注册按钮的代码实现如下 点击注册 向数据库添加记录 private void btnRegist Click object sender EventArgs e 输入验证通过 就插入记录到数据库 if ValidateInput int myQQNum 0 QQ号码 string message 弹出的消息 string sex rdoMale Checked rdoMale Text rdoFemale Text 获得选中的性别 string sql 查询用的SQL语句 int starId 星座Id int bloodTypeId 血型Id bool error false 操作数据库是否出错 根据星座和血型的选择来分情况确定SQL语句 if cboStar Text 获得血型的Id bloodTypeId GetBloodType sql string Format INSERT INTO Users LoginPwd NickName Sex Age Name StarId BloodTypeId values 0 1 2 3 4 5 6 txtLoginPwd Text Trim txtNickName Text Trim sex int Parse txtAge Text Trim txtName Text Trim starId bloodTypeId else if cboStar Text sql string Format INSERT INTO Users LoginPwd NickName Sex Age Name StarId values 0 1 2 3 4 5 txtLoginPwd Text Trim txtNickName Text Trim sex int Parse txtAge Text Trim txtName Text Trim starId else if cboStar Text sql string Format INSERT INTO Users LoginPwd NickName Sex Age Name BloodTypeId values 0 1 2 3 4 5 txtLoginPwd Text Trim txtNickName Text Trim sex int Parse txtAge Text Trim txtName Text Trim bloodTypeId else sql string Format INSERT INTO Users LoginPwd NickName Sex Age Name values 0 1 2 3 4 txtLoginPwd Text Trim txtNickName Text Trim sex int Parse txtAge Text Trim txtName Text Trim try 创建Command 对象 SqlCommand command new SqlCommand sql DBHelper connection DBHelper connection Open 打开数据库连接 int result command ExecuteNonQuery 执行插入命令 if result 1 sql SELECT Identity FROM Users 查询新增加的记录的标识号 command CommandText sql 重新指定Command 对象的SQL 语句 myQQNum Convert ToInt32 command ExecuteScalar 强制类型转换会出错 message string Format 注册成功 你的MyQQ号码是 0 myQQNum else message 注册失败 请重试 catch Exception ex error true message 服务器出现意外错误 请稍候再试 Console WriteLine ex Message finally DBHelper connection Close 关闭数据库连接 显示注册结果 if error MessageBox Show message 注册失败 MessageBoxButtons OK MessageBoxIcon Warning else MessageBox Show message 注册结果 MessageBoxButtons OK MessageBoxIcon Information this Close 5 4 主界面设计 当用户输入正确的登录信息并登录后 出现图 5 8 所示的主界面 图 5 8 主界面 登陆后在 我的好友 列表中显示当前好友列表 包括好友的头像和昵称 在主界面的顶部要显示当前登陆的用户头像 昵称和登录账号 当有新的聊天消息时候 发来的消息的好友头像要闪动 双击头像弹出 聊 天 窗口后 头像停止闪动 当有添加好友请求消息时 窗体底部的好友请求验 证按钮要闪烁 单击该按钮弹出 系统消息 窗体后 按钮停止闪烁 通过主窗体下方的按纽打开 查找 添加好友 窗体 个人信息 窗口 系统消 息 窗口 也可刷新好友列表和退出程序 通过右键菜单能够切换大小头像 能够把陌生人转为好友 能够删除一个 好友或陌生人 如图 5 9 所示 图 5 9 右键功能 显示好友列表的控键可以用提供的第三方控键 sidebar 该控键的命名空间 为Aptech ui Sidebar是一个能够以分组形式显示列表的控件 能够实现类似 QQ 的好友分组功能 sidebar 控键中可以包含很多组 sbgroup 每个组可以包含 很多 sidebar 项 sbitem Sidebar 的列表项有两种显示方式 大图标和小图标 它可以通过它的 view 属性来设置 Sidebar 控件还有一个 imagelist 属性 可以 和一个 imagelist 控件关联 列表项中显示的图片就是存放在 imagelist 控件中的 图片 可以通过 Sidebar 项 sbitem 的 imageindex 来指定图片在 imagelist 控件 中的索引 其中加载窗体时的代码如下 窗体加载时发生 private void MainForm Load object sender EventArgs e 工具栏的消息图标 tsbtnMessageReading Image ilMessage Images 0 显示个人的信息 ShowSelfInfo 添加 SideBar 的两个组 sbFriends AddGroup 我的好友 sbFriends AddGroup 陌生人 向我的好友组中添加我的好友列表 ShowFriendList 定时扫描数据库读取未读信息的代码如下 定时扫描数据库 找到未读消息 private void tmrMessage Tick object sender EventArgs e ShowFriendList 刷新好友列表 int messageTypeId 1 消息类型 int messageState 1 消息状态 找出未读消息对应的好友Idstring sql string Format SELECT Top 1 FromUserId MessageTypeId MessageState FROM Messages WHERE ToUserId 0 AND MessageState 0 UserHelper loginId SqlCommand command 消息有两种类型 聊天消息 添加好友消息 try command new SqlCommand sql DBHelper connection DBHelper connection Open SqlDataReader dataReader command ExecuteReader 循环读出一个未读消息 if dataReader Read this fromUserId int dataReader FromUserId messageTypeId int dataReader MessageTypeId messageState int dataReader MessageState dataReader Close catch Exception ex Console WriteLine ex Message finally DBHelper connection Close 判断消息类型 如果是添加好友消息 就启动喇叭timer 让小喇叭闪烁 if messageTypeId 2 player Play tmrAddFriend Start 如果是聊天消息 就启动聊天timer 让好友头像闪烁 else if messageTypeId 1 try command new SqlCommand sql DBHelper connection DBHelper connection Open this friendFaceId Convert ToInt32 command ExecuteScalar 设置发消息的好友的头像索引 catch Exception ex Console WriteLine ex Message finally DBHelper connection Close 如果发消息的人没有在列表中就添加到陌生人列表中 if HasShowUser fromUserId UpdateStranger fromUserId SoundPlayer player new SoundPlayer msg wav player Play tmrChatRequest Start 启动闪烁头像定时器 5 5 查找 添加好友界面设计 在主界面中单击 查 字样按钮后 出现查找 添加好友界面如图 5 10 所示 图 5 10 查找 添加好友界面 直接点击 查找 后 即查找所有用户 查询结果如图 5 11 所示 图 5 11 基本查找 单击 上一步 则回到 基本查找 页面 点击 精确查找 如图 5 12 所示 图 5 12 精确查找 输入帐号或昵称 点击 查找 可以显示查询结果 高级查找 界面如图 5 13 所示 图 5 13 高级查找 操作方法同基本查找类似 单击 查找 按纽后在窗体中显示查询结果 要求以 DataGridView 控件显示 查找的结果 选中一个用户 单击 加为好友 按纽 进行添加好友的操作 并根据不同的情况弹出消息对话框 告知用户如 添加好友请求成功 对方 不让任何人添加他为好友 对方需要身份验证 已发出验证请求 等 如果 需要身份验证 不要求输入验证消息内容 直接发送验证消息即可 其中基本查找和高级查找两部分的代码如下 基本查找 private void BasicallySearch string sql 查询语句的前半部分sql SELECT Id NickName Age Sex FROM Users 精确查找if rdoNicetySearch Checked true if txtLoginId Text Trim return 按帐号查找else if txtLoginId Text Trim sql string Format WHERE Id 0 int Parse txtLoginId Text Trim 按昵称查找else sql string Format WHERE NickName like 0 txtNickName Text Trim 重新填充DataSet dataSet Tables 0 Clear dataAdapter SelectCommand CommandText sql dataAdapter Fill dataSet Users 设置控件可见的属性 调整显示结果的panel的位置 让它和显示条件的Panel的位置相同 pnlBaseResult Location pnlBaseCondition Location 使显示结果的panel可见 pnlBaseResult Visible true btnAdd Visible true 加为好友 按钮可见 btnBack Visible true 上一步 按钮可见 高级查找 private void AdvancedSearch string sql 查询语句的前半部分 sql SELECT Id NickName Age Sex FROM Users string ageCondition 年龄条件 string sexCondition cboSex Text 性别条件 确定年龄的范围 switch cboAge SelectedIndex case 1 ageCondition Age 0 AND Age 10 AND Age 20 AND Age 30 AND Age 40 AND Age 50 break default ageCondition break if ageCondition return else if ageCondition else if ageCondition else sql string Format WHERE 0 AND Sex 1 ageCondition sexCondition 开始查找 dataAdapter SelectCommand CommandText sql dataSet Tables 0 Clear dataAdapter Fill dataSet Users 设置控件的属性 pnlAdvancedResult Location pnlAdvancedCondition Location pnlAdvancedResult Visible true btnAdd Visible true btnBack Visible true 5 6 聊天界面设计 当有消息时 主窗体中好友头像闪烁 双击头像 弹出 聊天 窗口 如图 5 15 所示 当进入聊天界面时 输入一些想说的话 点击发送 就能发送过了 可以 设置字体的颜色和大小 也可以实现抖动窗口 聊天框里有对方的昵称 时间 和输入的语句 读取消息部分的关键代码如下 读取所有的未读消息 显示在窗体中 private void ShowMessage string messageIdsString 消息的Id组成的字符串 string message 消息内容 string messageTime 消息发出的时间 读取消息的SQL语句string sql string Format SELECT Id Message MessageTime From Messages WHERE FromUserId 0 AND ToUserId 1 AND MessageTypeId 1 AND MessageState 0 friendId UserHelper loginId try SqlCommand command new SqlCommand sql DBHelper connection DBHelper connection Open SqlDataReader reader command ExecuteReader 循环将消息添加到窗体上while reader Read messageIdsString Convert ToString reader Id message Convert ToString reader Message messageTime Convert ToDateTime reader MessageTime ToString 转换为日期类型 lblMessages Text string Format n 0 1 n 2 nickName messageTime message reader Close catch Exception ex Console WriteLine ex Message finally DBHelper connection Close 把显示出的消息置为已读 if messageIdsString Length 1 messageIdsString Remove messageIdsString Length 1 SetMessageRead messageIdsString 把显示出的消息置为已读 private void SetMessageRead string messageIdsString char separator string messageIds messageIdsString Split separator 分割出每个消息Id string sql Update Messages SET MessageState 1 WHERE Id 更新状态的SQL语句的固定部分 string updateSql 执行的SQL语句 try SqlCommand command new SqlCommand 创建Command对象 command Connection DBHelper connection 指定数据库连接 DBHelper connection Open 打开数据库连接 foreach string id in messageIds if id updateSql sql id 补充完整的SQL语句 command CommandText updateSql 指定要执行的SQL语句 int result command ExecuteNonQuery 执行命令 catch Exception ex Console WriteLine ex Message finally DBHelper connection Close 5 7 系统消息界面设计 单击主窗体低部的 验 字样按纽 弹出 系统消息 窗口 显示向该用户发送 的未读的添加好友请求消息 窗口如图 5 21 所示 图 5 21 系统消息界面 如无好友请求消息 则显示如图 5 22 所示 图 5 22 无好友请求消息 窗体加载时的流程图如图 5 23

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论