《基于.net的在线聊天系统本科学位论文.doc》由会员分享,可在线阅读,更多相关《基于.net的在线聊天系统本科学位论文.doc(34页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、潍坊科技学院本科毕业设计(论文)题 目 基于.NET的在线聊天系统 院(系) 中印计算机软件学院 专业 计算机科学与技术 学 号 200801450006 学生姓名 纪 连 文 指导教师 祝 凌 云 起讫日期 2011.12.15-2012.4.30 设计地点 潍坊科技学院 I摘要摘 要随着网络技术的不断发展,网络聊天技术正成为目前产业界和科研机构密切关注的焦点。基于网络的聊天技术已成了近年来新兴的聊天交流方式。网络聊天是在20世纪90年代发展起来的,它是在原有的面对面等通过动态声音为信息载体的基础上,增加了非接触式的通过静态文字为载体的交流方式。其使用的C/S结构系统可以在任何一台的计算机上
2、使用,系统的部署和维护只是在服务器上进行,这样的模式既能减少管理的成本,更重要的是它能很方便的实现用户与系统的交互,更快地响应用户信息交互请求,加之微软C#编程语言在窗体应用上的优势以及平台的独立性好、简便的窗体生成为C/S的实现提供了很好的技术基础。本系统前台选用了C#等作为主要的编程工具和语言,后台选用SQL Server2008作为数据库服务器。利用ADO.NET编程技术实现前后台的数据交互。本系统实现了以下功能:即时聊天,添加好友,文件上传,聊天记录查询等。关键词: C# C/S结构 数据库 主程序 AbstractAbstractWith the development of net
3、 work technology network chat technology is become the industry and scientific research institutions close attention Based on network chat technology in recent years has become the emerging chat communication Network chat is in the 1990s, it was developed in the original face to face for such inform
4、ation carrier by dynamic voice, on the basis of increased non-contact through the static text as the carrier type of communicationIts restrictive is lower, avoid the gleam of restraining factors in communication; Chat system is providing these services with dynamic interaction function of the manage
5、ment information system, it achieved a network of on-line chat; Users can chatting in information system and the be fond of according to oneself and character in his own way to communicate and find friends Such user never leave home, can communicate with people anywhere at any time, from the traditi
6、onal way of communication in time and space, and the limitations of traditional exchange individual factors, enriched the limitations of the network life people As the Internets rapid rise, C/S structure of system can be in any one computer use, the systems deployment and maint enance just on file s
7、erver, such a model can not only reduce the cost management, more important is it can e asily achieve user and system interaction, to respond more quickly to user information interaction request, together with Microsoft C # programming languages, as is known to all, put forward the application form
8、on the C # the independence of the advantages and platform, simple form was born the realization of becoming C/S, provide good technology foundation Thus, using the Internet to coverage area wide advantage, build a based on C/S structure of network chat system, and provide the network service mainly
9、 to chat to satisfy the users, according to his own will and communication needs and convenient degree of pursuit, rich users network life and daily communication means, will gets more and more users favor Keywords: C # C/S structure DateBase MainProcess目录目 录摘 要I目 录II第1章 绪论111 选题背景及意义112 网络聊天简介113 系
10、统设计思想114 可行性分析215 系统运行环境2第2章 相关技术概述321 客户端/服务器( Client/Server)结构概述322 SOCKET编程技术32.6 SQL Server 2008概述42.7 ADONET技术4第3章 需求分析531 系统需求分析532 系统功能需求533 数据处理需求634 系统性能需求6第4章 系统分析与设计741 系统功能模块设计74.2 系统模块详细设计74.2.1 客户端功能模块设计74.2.2 服务器端功能模块设计104.3 系统整体流程图10第5章 数据库设计135.1 概述135.2 数据库概念结构设计135.3 数据库逻辑结构设计145.
11、3.1 用户信息实体属性图145.3.2 用户好友关系信息实体属性图145.4 数据表设计155.5 创建数据的存储过程15第6章 系统详细设计与实现176.1 系统通用类设计176.1.1 数据库表结构类设计176.1.2 服务器端模块数据库表操作类设计186.1.3 对数据库操作的封装186.2 界面及功能设计186.2.1 服务器主界面196.2.2 客户端界面196.3 系统实现过程中遇到的问题与解决276.3.1 Socket套接字异常问题276.3.2 多线程问题27第7章 结论与展望287.1 结论287.2 不足之处及未来展望28参考文献29致 谢30II第1章 绪论第1章 绪
12、论11 选题背景及意义Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库。如今,人们不仅可以在网上查询自己需要的资源,而且可以通过网络进行实时的沟通。从实时性和有效性上都超过了用信件和电子邮件,并且在费用上要低于电话。因而各种聊天服务备受用户青睐,在这方面的开发与应用也较多,聊天服务也成为互联网提供的重要服务之一,因此,建立一个好的在线交流聊天系统十分重要。互联网的大多数网站都建有聊天室,并
13、且有专业聊天网站提供聊天服务。它们中大部分都是绝对的C/S模式,对远程服务器有非常大的依赖性,没有彻底实现点对点的交流。在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似QQ、网络聊天时一类的聊天系统的发展日新月异。12 网络聊天简介网络聊天,英文简称NC(Network chat ),指的是按照用户的要求播放视频。NC有很广泛的含义,包含了娱乐、教育、商业等领域的多种应用,如游戏聊天( Chat In Game)、在线语音聊天(Online voice chat)、离线文件传输(Offline file transfer)和远程教学( Lo
14、ng Distance Learning)等。网络聊天是在20世纪90年代发展起来的,它是在原有的面对面等通过动态声音为信息载体的基础上,增加了非接触式的通过静态文字为载体的交流方式,其限制性比较低,避免了沟通上的一线制约因素;聊天系统就是提供了这些服务的具有动态交互功能的管理信息系统,它实现了一个网络上的在线聊天;用户可以在聊天信息系统并根据自己的喜好和性格进行自己的交流方式和寻找朋友。这样,使用户足不出户就可随时随地地与人交流,摆脱了传统交流方式在时间和空间的局限性,以及传统交流个人自身的因素的局限性,极大丰富了人们的网络生活。13 系统设计思想聊天系统利用Net平台的Winform技术和
15、数据库技术,提供以文字聊天为中心的网络文本传输服务,系统采用C#作为编程语言技术,结合C/S结构模式,能动态实现与用户的交互,满足用户添加好友和修改用户信息等需求,以及后台管理员对系统信息管理的需求。14 可行性分析计算机网络作为一种先进的信息传输媒体,有着信息传送速度快、信息覆盖面广、成本低的特点。随着信息技术的发展,利用C#技术结合数据库技术来实现一个聊天系统,提供以文字聊天为中心的网络文本传输服务,能更贴切的满足用户根据自己的意愿进行无打扰的聊天的需求,也必将受到用户的青睐。但是,开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在开发系统前必须进行可行性分析,以减少项目的
16、开发风险,避免人力、物力和财力的浪费。可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题能否解决。对在聊天系统的可行性分析如下:1、经济可行性分析:成本较低,系统建设不需要很大的投入,系统更新时也只需更新服务器端程序,方便维护。2、技术可行性分析:系统采用NET开发平台,NET Framework是NET平台的基本框架,具有强大的API,给系统奠定了技术基础。系统采用C#NET技术,结合C/S结构模式,能够方便实现用户与系统的动态交互,以及方便信息的维护等。3、运行上可行性:本系统作为一个小型的聊天系统,所耗费的资源非常的小。综上所述通过可行性分析认为新系统的开发方案切实可行,可进行
17、开发。15 系统运行环境系统开发环境:Microsoft Visual Studio 2008系统开发语言: C#运行平台:Windows7数据库:SQL Server 200829第2章 相关技术概述第2章 相关技术概述21 客户端/服务器( Client/Server)结构概述C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的We
18、b应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。传统的CS体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。如图2.1和图2.2所示:
19、Client客户端Server服务器数据库图2.1 C/S结构图图2.2 客户机服务器通信结构示图22 SOCKET编程技术MicrosoftNet Framework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间SystemNet和SystemNetSockets包含丰富的类可以开发多种网络应用程序。其实,Socket可以象流Stream一样被视为一个数据通道,这个通道架设在应用程序端(客户端)和远程服务器端之间,而后,数据的读取(接收)和写入(发送)均针对这个通道来进行。2.6 SQL Server 2008概述SQL Server 是一个关系数据库管
20、理系统。SQL Server 2008 的特性有:1 Internet 集成; 2可伸缩性和可用性;3 企业级数据库功能;4 易于安装、部署和使用;2.7 ADONET技术ADONET是在NET Framework平台中负责数据存储的对象。ADONET建立在如XML的业界的基础之上,就像ADO,它提供了一个数据访问接口,以便和OLE DB兼容的数据源进行通信,如SQL Server或Oracle应用程序可以使用ADONET连接这些数据源,并检索,处理和更新数据。使用ADONET最重要的理由是可以获取一个真正断开连接的数据体系结构和XML的紧密集成和一个通用的数据表示法,可以将各种不同数据源中的
21、数据组合起来,并优化了和数据库交互的功能。第3章 需求分析第3章 需求分析31 系统需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的系统只会令用户失望,给开发者带来烦恼。网络聊天的出现,最初是源于人们对远程通信、远程帮助的需求发展到现在的远程群聊、远程教育、远程控制以及语音聊天和视屏聊天。在传统的聊天中,要求人们面多面的聊天近距离的的沟通。虽然可以通过电话进行远程没接触式的聊天,但是这种聊天费用高昂,对于对身体的健康也有一定的影响而且电话聊天对于偏远地区效果并
22、不好,在当今如此快节奏的生活中,在高速发展的信息经济中,用户没能在恰当的时间通过交流接受到自己有用的信息是常有发生的事情。这对于用户的日常生活会产生极大影响,用户希望可以根据自己的时间和安排进行方便的信息交换,不必遵守传统的聊天时间机制,可以随时随地的联系、表述自己的想法与朋友进行感情的交流。并且随着网络技术的不断发展,人们越来越习惯于利用网络来实现所需的服务,网络信息经济时代的来临,因此,建立一个基于网络的聊天系统,以其不受时间与空间的限制,向用户提供以文本信息传输为中心的服务,动态地实现与用户间的信息交互,必能满足广大用户的需求,该系统主要分为两部分:客户端和服务器端两部分。系统所要实现的
23、功能主要是方便用户进行网络聊天。32 系统功能需求初步将在聊天系统分为两个模块:客户端模块及服务器模块。1、客户端功能包括:用户登录:建立与服务器的连接并登陆,能显示登陆错误信息,以及配置登陆的服务器IP地址和端口号。用户注册:连接本地数据库,注册用户号码,并保存该用户,同时将信息返回给客户端。聊天功能:与好友进行聊天。信息显示:显示好友的在线列表和好友的离线列表。聊天纪录:能够记录当前界面的聊天记录。登录提示:显示欢迎界面。信息提示:能够播放提示音,提示用户有人向其发送聊天邀请。头像闪烁提示:在收到消息而聊天面板未打开时,对你发出聊天信息的好友头像闪烁。发送窗口抖动:发送提示声音并对好友的聊
24、天窗体进行颤动激活。添加好友:能够通过连接本地数据库进行添加好友。删除好友:能够通过连接本地数据库进行删除好友。2、服务器端功能包括:登陆信息:检查登陆信息是否正确,并向客户端返回登陆信息,如信息正确。就将在线用户好友列表和离线好友列表发给该用户,并将该用户的状态发给各在线用户并更新其在线好友列表和离线好友列表。消息发送:服务器打开监听,当接收到客户端发送的消息建立线程通过Sockets套接字转发消息。操作数据库:服务器端对数据库里的数据表进行映射生成在线好友列表和离线列表。用户下线:将此用户下线消息发给各客户端,并改写用户在服务器端的状态,更新客户端的在线好友列表和离线列表。33 数据处理需
25、求对用户信息的处理需求:包括查询好友信息、添加好友关系信息、删除好友关系信息。对聊天信息的处理需求:包括发送字符串、接收并显示字符串、保存当前界面的信息。34 系统性能需求一个系统的性能包括信息系统的效率、处理方式、可靠性、安全性、适应性等内容。效率是信息系统的处理能力、处理速度、吞吐量、响应时间等与系统处理时间有关的性能要素。处理方式涉及的范围比较宽,包括信息系统的结构和分布模式、交互方式、业务处理方式等。可靠性是保证系统正常工作及抗故障、抗干扰的能力,它包括:保证系统正常工作的能力;对系统故障的预防、检测以及自动纠错的能力;出现故障时,保证系统不发生崩溃,并使系统重新恢复、重新启动的能力等
26、。安全性是保证合法用户能够正确使用信息系统,并防止非法用户访问信息系统的能力。适应性是信息系统对外部环境和需求变化的适应能力。根据系统的性能需求,在聊天系统的开发主要要实现的目标有以下几个方面:(1)界面设计友好、美观。(2)数据存储安全、可靠。(3)信息分类清晰、准确。(4)数据查询的灵活性。(5)实现对聊天信息的展示。 (6)提供好友关系信息的添加、删除功能,方便用户操作。(7)具有易维护性和易操作性。第4章 系统分析与设计第4章 系统分析与设计41 系统功能模块设计按系统的功能需求分析,将系统功能模块分为两大模块:客户端功能模块和服务器端功能模块。客户端功能模块包括:用户登录模块、用户注
27、册模块、软件版权模块、显示好友模块、在线聊天模块、添加好友模块、删除好友模块;服务器功能模块包括:服务器登录模块。根据系统功能模块设计,系统的整体功能结构图如图4.1所示:基于.Net平台的聊天系统客户端功能用户注册用户登录服务器端功能滚动和通知区域图标开启监听服务删除好友在线聊天添加好友显示好友图4.1 系统整体功能结构图4.2 系统模块详细设计4.2.1 客户端功能模块设计(1)用户注册。设计流程如下:输入要注册的用户名和密码,系统会检查用户名是否已经存在,如果不存在,就允许注册新用户并发回数据库自动生成的用户ID。模块流程图如图4.2所示:用户名是否存在?生成注册用户注册用户不存在存在返
28、回生成酷熊号返回生成用户ID图4.2 用户注册流程图(2)用户登录。设计流程如下:首先判断服务器的端口号是否配置正确,然后判断输入的用户名和密码是否正确,正确就用户登录。模块流程图如图4.3所示:端口是否正确用户登录不存在不正确用户名和密码是否正确图4.3 用户登录流程图(3)滚动和通知区域图标。设计流程如下:在登录成功后,生成窗体的NotifyIcon图标和一个滚动的欢迎图标。(4)显示好友。设计流程如下:在登录成功后,服务器将为用户对数据库的表进行映射获得在线好友的列表和离线好友的列表通过Socket套接字发送过去,显示好友模块在显示面板上显示好友。(5)在线聊天。设计流程如下:先判断好友
29、是否在线,进入聊天界面中写入发送的信息,通过服务器监听到发送好友消息在转发给好友,进行在线聊天,其还整合发送震动框提示功能、头像闪烁提示以及声音提示功能。模块流程图如图4.4所示:是否在线?用户1是发送消息服务器端是否在线?用户2发送消息图4.4 在线聊天模块流程图(6)添加好友。设计流程如下:首先通过进行查询操作判断用户是否已经加过其好友,然后进行添加好友关系。模块流程图如图4.5所示:是否已加其为好友?查询好友否是添加好友图4.5 添加好友模块流程图(7)删除好友。设计流程如下:首先通过进行查询操作判断用户是否是在操作自己的好友关系,然后判断是否是好友关系,如果是就删除好友关系。模块流程图
30、如图4.6所示:密码和用户ID是否匹配?查询用户ID是否删除好友是否存在好友关系?是图4.6 删除好友模块流程图4.2.2 服务器端功能模块设计服务器端功能模块就是服务器监听模块:服务器监听模块。设计流程如下:首先判断服务器的端口是否更该,配置好端口号开启服务器开始监听,监听到用户登录消息,客户端进行操作数据库验证,正确就建立Socket连接,并读取其在线好友列表和离线好友列表发送给客户端,当监听客户端进行各种操作,服务器端调用自身的监听处理方法进行处理并将结果或信息通过Socket发送给客户端。服务器监听模块流程图如图4.7所示:是否合法端口号?输入端口号是否开启客户端监听是否接收到消息是开
31、启客户端处理发送消息到客户端否图4.7 服务器监听模块流程图4.3 系统整体流程图在聊天系统的流程是用户在客户端登录,若用户名不存在,则需先注册用户信息,在注册完用户信息后,用户输入自己的帐号及密码登录系统,在用户登录成功后服务器端监听客户端发来的登陆消息,进行登录处理,验证数据库表中的数据进行对比以及该用户当前的状态,如果用户的账号和密码比对无错,再比对在线用户Hash表中是否已经登录,如果没有登录则建立Socket连接并更新在线用户Hash表,建立线程处理与用户的Socket连接操作,同时发送登录用户的在线好友列表和离线好友列表,用户成功登录后,进入好友显示模块,在在线好友界面中点击好友头
32、像进入聊天界面,用户发送信息给在线好友,服务器监听到客户端通过Socket发过来的对好友进行聊天的消息,并截取Socket传输的数据流中的发送者要传输给接收者的消息,通过与接收者建立Socket连接,将数据写入其Socket传输数据中,实现数据的转发,同时用户对好友进行发颤抖框操作都是服务器接受其操作消息标识参数,在发给好友操作标识参数,然后其客户端就会调用其自身定义的该标识参数下的方法,聊天完毕,用户发送离线消息,服务器接受到其消息,关闭与其的Socket连接,更新在线用户Hash表以及在线用户的在线好友列表。客户机/服务器模式在操作过程中采取的是主动请示方式,首先服务器方要先启动,并根据请
33、示提供相应服务:(过程如下)1、服务器(1)、打开一通信端口并告知本地主机,它愿意在某一个公认地址上接收客户请求。(2)、等待客户请求到达该端口。(3)、接收到重复服务请求,处理该请求并发送应答信号。(4)、返回第二步,等待另一客户请求。(5)、关闭服务器。2、客户方:(1)、打开一通信通道,并连接到服务器所在主机的特定端口。(2)、向服务器发送服务请求报文,等待并接收应答;继续提出请求(3)、请求结束后关闭通信通道并终止。聊天系统的系统流程图如图4.8所示:图4.8系统整体流程图连接服务器发出消息请求入口监听端口入口封装并发送消息到服务器在聊天去显示客户端消息还是服务器端消息选择用户发送离线
34、消息服务器更新消息客户端消息入口客户端系统流图更新在线用户列表监听端口提取句柄报文目的地址转发目的地址监听端口配置服务器判断消息上线或离线请求聊天信息操作服务器端程序流程图图客户端客户端A客户端B服务器端封装发送拆封、提取目的信息并转发拆封、提取操作消息和目的信息转发地址服务器端客户端交互流程图图图4.9 系统分布流程图第6章 系统详细设计与实现第5章 数据库设计5.1 概述数据库设计是指根据用户需求研制数据库结构并应用数据库的过程。一般,数据库的设计过程大致可分数据库设计为5个步骤:1、需求分析:调查和分析用户的业务活动和数据的使用情况,弄清所用数据的种类、范围、数量以及它们在业务活动中交流
35、的情况,确定用户对数据库系统的使用要求和各种约束条件等,形成用户需求规约。2、概念设计:对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。3、逻辑设计:主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。
36、这一步设计的结果就是所谓“逻辑数据库”。4、物理设计:根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。 5、验证设计:在上述设计的基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性和合理性。一般,一个大型数据库的设计过程往往需要经过多次循环反复。当设计的某步发现问题时,可能就需要返回到前面去进行修 改。因此,在做上述数据库设计时就应考虑到今后修改设计的可能性和方
37、便性。5.2 数据库概念结构设计数据库概念结构设计是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这阶段可用的工具很多。用的最多的是E-R图(Entity-Relation,实体-关系图),另外还有许多计算机辅助工具(Computer Aided Software Engineering, CASE)可以帮助进行设计。本系统采用了E-R图的方法进行数据库概念结构设计。E-R图是描述数据实体关系的一种直观描述工具。这种图中有:1、实体:用方框表示,方框内为实体的名称。2、实体的各种属性:用椭圆表示,椭圆内为属性名称。使用线段将其和响应的实
38、体连接起来。3、实体之间的联系:用菱形表示,菱形内为联系的名称。实体和实体之间的联系较多,比较常见的联系有l:1,l:N和M:N这三种。5.3 数据库逻辑结构设计概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。也就是要将概念上的结构转化为数据库系统所支持的实际数据模型。第一种转化是将实体转化为关系表。这种转化较简单,需要将实体的属性定义为表的属性即可。第二种转化是联系的转化。即将各个实体之间的联系转化为表格之间的关系,如外部键的定义。5.3.1 用户信息实体属性图在聊天系统中要有聊天的实体,用户是聊天系统中密不可分的主体部分,因此要创建一用户信息实体,
39、用来保存用户登录账号、密码等详细的信息。用户信息实体属性图,如图5.1所示:用户信息实体用户头像图片用户昵称用户密码用户的使用权限用户在线时间用户ID图5.1 用户信息实体E-R图5.3.2 用户好友关系信息实体属性图用户好友关系是在聊天系统实现的桥梁和标志,是在聊天系统的重要组成部分,这里创建了一个用户好友关系信息实体,用来存储用户好友关系的详细信息。用户好友关系信息E-R图,如图5.2所示:用户好友关系信息实体用户A的ID关系名用户B的ID图5.2 用户关系信息E-R图5.4 数据表设计系统采用SQL Server 2005的数据库管理 ,建立数据库名为CoolBearServerDB,数
40、据库中存放的表有UserDT (用户登录信息表)、FriendsRelationDT (用户好友关系详细信息表)。数据库各表详细结构如下:表5.1 UserDT (用户登录信息表)列名类型主键非空外键注释CoolBear_UserIDint是是酷熊号CoolBear_UserNamevarchar(10)是酷熊昵称CoolBear_UserHeadImagvarchar(25)是用户头像图片CoolBear_UserPasswordvarchar(25)是酷熊密码CoolBear_UserOnlineTimeint是用户在线时间CoolBear_UserLogo lint是用户权限表5.2 C
41、oolBear_FriendsRelationID (用户好友关系信息表)列名类型主键非空 外键注释CoolBear_FriendsRelationIDint 是是 好友关系名CoolBear_FriendsRelationFriendID1CoolBear_FriendsRelationFriendID2intint 是是 用户1酷熊号用户2酷熊号5.5 创建数据的存储过程下面存储过程为数据库提供检索验证登录信息,为服务器端向客户端提供更新好友列表提供数据: public static bool ValidateUser(string UserMessage) string sqlstrin
42、g = select * from UserDT WHERE CoolBear_UserID=UserID AND CoolBear_UserPassword=UserPassword; int coolBearID = Int32Parse(UserMessage0); string coolBearPw = UserMessage1; SqlConnection conn = new SqlConnection(connString); connOpen(); SqlCommand scd = new SqlCommand(sqlstring, conn); scdParametersAd
43、dWithValue(UserID, coolBearID); scdParametersAddWithValue(UserPassword, coolBearPw); SqlDataAdapter sda = new SqlDataAdapter(scd); DataTable dt = new DataTable(); sdaFill(dt); try scdExecuteNonQuery(); if (dtRowsCount0) return true; else return false; catch (SystemException ex) return false; finally sdaDispose(); scdDispose(); connClose(); connDispose(); 第6章 系统详细设计与实现本系统的详细设计与实现主要分为通用类的设计和界面设计以及事件处理逻辑实现的设计。本系统中要经常对数据库进行添加、删除、修改等操作为了避免重复写相同的代码,将对数据库的基本操作封装到一个类中。这样每次需要对数据库进行操作的时候,只要直接调用这个封装好的类就可以实现对数据库的增加
限制150内