




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
动态服务网页网络交流系统摘 要为了方便网络信息的交流,在结合动态服务网页(asp.net)技术和sql数据库技术以及常用的c#语言网页制作工具visual studio .net等之下开发了这个快截、界面友好的网络交流系统。本设计使用动态服务网页(asp.net)技术建设,使用sql制作系统的数据库,实现了一个功能相对齐全的聊天设计系统,网友可以自由地申请和登陆以及与他人沟通,或者交流经验。该聊天室功能较齐全,在这里可以自由地发表自己的语言和各种表情的表达,我们还可以用管理员登陆来在线管理聊天室内的用户。聊天室还有一些特殊的功能,如在线人员显示、互相悄悄话等。整个个性化页面生成系统主要由使用visual studio .net开发的关联规则采掘系统和利用iis+asp.net技术实现的个性化web页面生成器两部分组成。关联规则采掘系统对数据库中的历史记录进行分析,产生用户关联规则表;页面生成器则负责记录用户行为和根据关联规则表动态生成用户个性化web页面。二者通过数据库服务器和web服务器连接。本文作者主要完成web客户端及后台管理中的用户管理、言论管理、版面管理、数据库管理、浏览和查找、短消息功能等设计、实现与完善以及整个实验网站的组织建立和测试工作。关键词:动态服务网页,聊天室目 录第1章 绪 论1第2章 开发技术及运行环境22.1 asp.net技术的使用22.1.1 asp.net的介绍22.1.2 asp.net技术的使用32.2 sql server 2005的使用42.3应用mvc结构62.3.1 mvc设计思想62.3.2 mvc设计模式的实现72.4应用c#编程语言82.5系统流程的实现11第3章 总体设计133.1项目规划133.2使用操作描述133.3数据库设计133.3.1数据库字典133.3.2数据库实体分析16第4章 详细设计184.1后台管理功能实现184.2前台功能的实现20第5章 编码实现225.1显示信息的代码225.2修改操作数据的代码实现23第6章 软件部署276.1系统运行环境需求276.2程序工作环境需求27总 结28致 谢29参考文献30iii第1章 绪 论internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为internet上一种先进的,易于被人们所接受的信息检索手段,world wide web(简称www)发展十分迅速,成为目前世界上最大的信息交流宝库。据估计,目前internet上已有上百万个web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,其中以交友为目地的交友聊天网站更是层次不群,因此在大海一样的网络中建设一个好的web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在internet中的广泛应用,web站点向用户提供的服务将越来越丰富,越来越人性化。我们发现这样一个事实,一个用户在访问一个网站时一般来讲只对该网站的部分内容感性趣,而且这种兴趣会持续一段时间。这点启发了我们,如果能根据用户的喜好为不同的用户进行即时的沟通,将有十分美好的前景。要实现这样的功能,离不开后台数据库的支持。用户验证信息,收集到的用户点击信息,主题层次信息,分析得出的关联规则表等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了microsoft sqlserver数据库作为sqlconnection数据源,并以先进的ado(activex data objects)技术进行数据库存取等操作,使web与数据库紧密联系起来。第 29 页 第2章 开发技术及运行环境2.1 asp.net技术的使用2.1.1 asp.net的介绍asp.net 不仅仅是下一版本的 active server page (asp);它是统一的 web 开发平台,用来提供开发人员生成企业级 web 应用程序所需的服务。asp.net 的语法在很大程度上与 asp 兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。可以通过在现有 asp 应用程序中逐渐添加 asp.net 功能,随时增强该 asp 应用程序的功能。 asp.net 是一个已编译的、基于 .net 的环境,可以用任何与 .net 兼容的语言(包括 visual basic .net、c# 和 jscript .net.)创作应用程序。另外,任何 asp.net 应用程序都可以使用整个 .net 框架。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 asp.net 可以无缝地与 wysiwyg html 编辑器和其他编程工具(包括 microsoft visual studio .net)一起工作。这不仅使得 web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 web 页的 gui 和完全集成的调试支持。在创建 asp.net 应用程序、web 窗体和 web 服务时,我们可以选择下列两个功能,或者以他们认为合适的任何方式将它们结合起来使用。每个功能都能得到同一结构的支持,使我们可以使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义,这里只是列出几种可能性而已。 “web 窗体”用于生成功能强大的基于窗体的 web 页。生成这些页时,可以使用 asp.net 服务器控件来创建公共 ui 元素,以及对它们进行编程以用于执行常见的任务。这些控件使您能够用可重复使用的内置或自定义组件生成 web 窗体,从而简化页面的代码。asp.net是一种建立在通用语言上的程序构架,能被用于一台web服务器来建立强大的web应用程序。asp.net提供许多比现在的web开发模式强大的优势。asp.net是把基于通用语言的程序在服务器上运行。不像以前的asp即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。因为asp.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到asp.net的web应用中。asp.net同时也是language-independent语言独立化的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有c#(c+和java的结合体),vb,jscript。将来,这样的多种程序语言协同工作的能力保护您现在的基于com+开发的程序,能够完整的移植向asp.net。并且asp.net使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。2.1.2 asp.net技术的使用1)可管理性:使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和web应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地管理工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。2)安全:为web应用程序提供了默认的授权和身份验证方案。开发人员可以根据应用程序的需要很容易地添加、删除或替换这些方案。3)易于部署:通过简单地将必要的文件复制到服务器上,应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。4)增强的性能:是运行在服务器上的已编译代码。与传统的activeserverpages(asp)不同,能利用早期绑定、实时(jit)编译、本机和全新的缓存服务来提高性能。5)灵活的输出缓存:根据应用程序的需要,可以缓存页数据、页的一部分或整个页。缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行刷新。6)国际化:在内部使用unicode以表示请求和响应数据。可以为每台计算机、每个目录和每页配置国际化设置。7)移动设备支持:支持任何设备上的任何浏览器。开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。8)扩展性和可用性:被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。此外,internet信息服务(iis)和运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。9)跟踪和调试:提供了跟踪服务,该服务可在应用程序级别和页面级别调试过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪查看工具查看信息。在开发和应用程序处于生产状态时,支持使用.netframework调试工具进行本地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产品代码中而不会影响性能。10)与.netframework集成:因为是.netframework的一部分,整个平台的功能和灵活性对web应用程序都是可用的。也可从web上流畅地访问.net类库以及消息和数据访问解决方案。是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。另外,公共语言运行库的互用性还保存了基于com开发的现有投资。2.2 sql server 2005的使用sql server 2005 通过在可伸缩性、数据集成、开发工具和强大的分析等方面的革新更好的确立了微软在bi领域的领导地位。sql server 2005 能够把关键的信息及时的传递到组织内员工的手中,从而实现了可伸缩的商业智能。从ceo 到信息工作者,员工可以快速的、容易的处理数据,以更快更好的做出决策。sql server 2005全面的集成、分析和报表功能使企业能够提高他们已有应用的价值,即便这些应用是在不同的平台上。商业智能增强体现在以下几个方面:端到端的集成bi平台,集成服务,分析服务,报表服务,microsoft office system的集成。(这里只介绍使用前三种比较好技术)1、端到端的集成bi平台microsoft sql server 2005 是一个完整的商务智能 (bi) 平台,其中为用户提供了可用于构建典型和创新的分析应用程序所需的各种特性、工具和功能。本文简要介绍了您在构建分析应用程序时将要用到的一些工具,并着重介绍了一些新增功能,这些新增功能使复杂 bi 系统的构建和管理比以往更加轻松。2、integration servicessql server 2005带来了一个全新的企业级数据整合平台。此平台具有出色的etl和整合能力,使得组织机构能更加容易地管理来自于不同的关系型和非关系型数据源的数据。通过sql server integration services(ssis),组织机构能以整体的视角去考察它们的商业运营情况,从而能具有竞争优势企业级数据整合平台sql server integration services取代了sql server 2000中一个非常受欢迎的功能模块数据转换服务(dts)。但ssis并不是dts的简单升级,它是sql server 2005中的一个全新的组件,它提供了构建企业级etl应用程序所需的功能和性能。ssis是可编程的、可嵌入的和可扩展的,这些特性使其成为理想的etl平台。传统 etl 之外的sql server 2005 支持非传统的数据(web service,xml):ssis 可对不持续的数据进行分析;在数据流中的数据挖掘和文本挖掘;数据流中的数据挖掘和分析可用于数据质量和数据清洗。3、analysis services在sql server 2005中,分析服务(analysis services)第一次提供了一个统一和集成的商业数据视图,可被用做所有传统报表、olap分析、关键绩效指标(kpi)记分卡和数据挖掘的基础。统一空间模型unified dimensional model通过结合传统olap分析和关系型报表中的最佳点,analysis services 2005提供了一个元数据模型用于满足不同需求。analysis services 2005中的所有多维数据集和维度定义都可从统一空间模型udm中查阅。udm是一个中心元数据库,其中定义了业务实体、业务逻辑、计算和metrics,可被作为所有报表、电子表格、olap浏览器、kpi和分析应用程序的源来使用。通过使用新的、功能强大的数据源视图特性、udm可被映射成后台异构数据源宿主,这样便可无需考虑数据的位置。利用udm中对业务实体的友好描述、等级导航、多视角、自动平滑翻译为本机语言这些功能,最终用户将会发现浏览公司业务数据是一件容易的事情。microsoft sql server 2005 data mining(数据挖掘)属于商务智能技术,它可帮助您构建复杂的分析模型,并使其与您的业务操作相集成。microsoft sql server 2005分析服务中构建了新的数据挖掘平台一个易于使用的、容易扩展的、方便访问的、非常灵活的平台。对于以前从未考虑过采用数据挖掘的组织机构,这无疑是个非常容易接受的解决方案。企业级产品的架构,与sql server产品家族商业智能功能的紧密集成,丰富的工具、api和算法,这一切使得我们能基于sql server创建新型的商业智能应用程序。通过它所提供的针对各种商业问题的自定义的数据驱动解决方案,能达到提高生产力、增加利润和减少支出的目的。2.3应用mvc结构2.3.1 mvc设计思想mvc英文即model-view-controller,即把一个应用的输入、处理、输出流程按照model、view、controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层视图(view)代表用户交互界面,对于web应用来说,可以概括为html界面,但有可能为xhtml、xml和applet。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,mvc设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模型(model)处理。比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。模型(model):就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是mvc最主要的核心。目前流行的ejb模型就是一个典型的应用例子,它从应用技术实现的角度对模型做了进一步的划分,以便充分利用现有的组件,但它不能作为应用设计模型的框架。它仅仅告诉你按这种模型设计就可以利用某些技术组件,从而减少了技术上的困难。对一个开发者来说,就可以专注于业务模型的设计。mvc设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,这也是判断开发人员是否优秀的设计依据。抽象与具体不能隔得太远,也不能太近。mvc并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。我们可以用对象编程来做比喻,mvc定义了一个顶级类,告诉它的子类你只能做这些,但没法限制你能做这些。这点对编程的开发人员非常重要。控制(controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化传播机制。2.3.2 mvc设计模式的实现本文通过mvc实现了qq聊天室的功能如下图2-1所示的其中admin放的是关于后台管理页面,根目录下的几个便是前台的页面显示,我们的主要代码则放在app_code这里面,放入实现类和它相应的操作方法,用的时候,可以直接调用。图2-1项目架构图2.4应用c#编程语言1c#的特点开发本系统采用的是c#编程语言。c#是一门简单、现代、面向对象、类型安全、平台独立的组建编程语言,是.net的关键性语言,也是整个.net平台的基础,它使程序员能快速的为新一代microsoft.net平台开发出应用程序。它的特点主要是:(一)简洁的语法在缺省的情况下,c#的代码在.net框架提供的“可操纵”环境下运行,不允许直接地内存操作。它所带来的最大的特色是没有了指针。与此相关的是,那些在c+中被疯狂使用的操作符(例如:“:”、“-”和“.,”)已经不再出现。c#只支持一个“.”,对于我们来说,现在需要理解的一切仅仅是名字的嵌套而已。c#用真正的关键字换掉了那些的活动模板库(active template library,alt)和com搞得乱糟糟的伪关键字,如ole_color、bool、variant_bool、dispid_x等等。每种c#操作符在.net类库中都有了新名字。语法中的冗余是c+中的常见的问题,比如const和#define、各种各样的字符类型等等。c#对此进行了简化,只保留了常见的形式,而别的冗余形式从它的语法结构中被清除了出去。(二)精心的面向对象设计在c#的类型系统中,每种类型都可以看作一个对象。c#提供了一个叫做装箱(boxing)与拆箱(unboxing)的机制来完成这种操作,而不给使用者带来麻烦。c#只允许单继承,即一个类不会有多个基类,从而避免了类型定义的混乱。整个c#的类模型是建立在.net虚拟对象系统(visual object system,vos)的基础之上,其对象模型是.net基础架构的一部分,而不再是其本身的组成部分。(三)与web的紧密结合.net中新的应用程序开发模型意味着越来越多的解决方案需要与web标准相统一,例如超文本标记语言(hypertext markup language,html)和xml。由于历史的原因,现存的一些开发工具不能与web紧密地结合。soap的使用使得c#克服了这一缺陷,大规模深层次的分布式开发从此成为可能。由于有了web服务框架的帮助,对程序员来说,网络服务看起来就象是c#的本地对象。程序员们能够利用他们已有的面向对象的知识与技巧开发web服务。仅需要使用简单的c#语言结构,c#组件将能够方便地为web服务,并允许它们通过internet被运行在任何操作系统上的任何语言所调用。举个例子,xml已经成为网络中数据结构传递的标准,为了提高效率,c#允许直接将xml数据映射成为结构。这样就可以有效的处理各种数据。(四)完整的安全性与错误处理语言的安全性与错误处理能力,是衡量一种语言是否优秀的重要依据。任何人都会犯错误,即使是最熟练的程序员也不例外:忘记变量的初始化,对不属于自己管理范围的内存空间进行修改。这些错误常常产生难以预见的后果。一旦这样的软件被投入使用,寻找与改正这些简单错误的代价将会是让人无法承受的。c#的先进设计思想可以消除软件开发中的许多常见错误,并提供了包括类型安全在内的完整的安全性能。为了减少开发中的错误,c#会帮助开发者通过更少的代码完成相同的功能,这不但减轻了编程人员的工作量,同时更有效地避免了错误的发生。(五)版本处理技术c#提供内置的版本支持来减少开发费用,使用c#将会使开发人员更加轻易地开发和维护各种商业用户。升级软件系统中的组件(模块)是一件容易产生错误的工作。在代码修改过程中可能对现存的软件产生影响,很有可能导致程序的崩溃。为了帮助开发人员处理这些问题,c#在语言中内置了版本控制功能。(六)灵活性和兼容性在简化语法的同时,c#并没有失去灵活性。尽管它不是一种无限制语言,比如:它不能用来开发硬件驱动程序,在默认的状态下没有指针等等,但是,在学习过程中你将发现,它仍然是那样的灵巧。2c#语言编程环境c#(读作c sharp)是微软开发的一种面向对象的编程语言,是微软.net开发环境的重要组成部分。而microsoft visual c#2005是微软开发的c#编程集成开发环境(同种产品还有borland公司的c# builder),它是为生成在.net framework上运行的多种应用程序而设计的。c#简单、功能强大、类型安全,而且是面向对象的。c#凭借它的许多创新,在保持c样式语言的表示形式和优美的同时,实现了应用程序的快速开发。visual s包含visual c#,这是通过功能齐全的代码编辑器、项目模板、设计器、代码向导、功能强大且易于使用的调试器以及其他工具实现的。通过.net framework 类库,可以访问多种操作系统服务和其他有用的精心设计的类,这些类可显著加快开发周期。2.5系统流程的实现1后台管理流程图错误信息页面管理员登录页面管理员管理员登录页面公告管理页面用户管理页面聊天管理页面修改管理员密码页面公告查询信息页面编辑公告信息页面会员查找删除页面对聊天的页面设置聊天内容过滤退出管理员页面图2-2 后台管理流程图2前台实现流程图来客注册自己的信息成功名称进入聊天限制图2-3 前台实现流程图第3章 总体设计3.1项目规划qq聊天室是前台和后台共用一个小网站,主要是为了在一些网站做补充,为了使我网站更有吸引力,增加网站的内容主要内容如下所示:(1)“会员的管理”用于维护(删除、查询)会员的基本信息。主要是根据会员编号和名称进行管理。(2)“管理员的管理”用于维护管理员的基本信息。其内容包括管理员的(增加,删除,修改密码)及权限的设置。(3)“公告信息”用于公告的(增加,删除,修改,查询)情况,便于更快的实行信息的公告,从而对聊天室的管理。其内容主要是公告的内容详细设置。(4)“聊天内容管理”用于管理聊天内容的信息。主要是为了健康的上网,对一些内容的删除。3.2使用操作描述方便性:只要有个ie浏览器就可以使用,避免繁琐的安装。快捷性:管理方便,网站只要加入本功能,就能使用,占用系统少。3.3数据库设计3.3.1数据库字典数据库是系统的最底层,它存储系统的所有数据。根据对系统的分析,得出数据库表如下:1聊天信息表(chat)聊天信息表用于保存管理相应会员的聊天内空,时间,其中包括格式、密码、性别以及年龄。管理人员信息表的字段说明如表3-1所示。作用聊天信息表序号英文字段名称中文字段名称字段类型大小备注1userid管理员idnvarchar50主键 非空2username管理员名称nvarchar50not null3createtime时间nvarchar50datatime 4context内容text2not null 5color颜色nvarchar506emotime表情nvarchar 50not null表3-1 表chat的结构2会员信息表(users)会员信息表存储会员的信息。会员信息表的字段说明如表3-2所示。表3-2 表users的结构作用会员信息表序号英文字段名称中文字段名称字段类型大小备注1userid员工编号int主键(自增)2userpwd密码nvarchar50unique非空3username真实姓名nvarchar50not null 4sex性别char2default(男)5tel电话nvarchar206area地区nvarchar207brithday生日datatime8chatid所属chat编号nvarhcar 20not null3管理员信息表(adminlogin)管理员信息表用于存储每个管理员的详细信息。管理员信息表的字段说明如表3-3所示。表3-3 表adminlogin的结构作用管理员信息表序号英文字段名称中文字段名称字段类型大小备注1admin_id管理员编号nvarchar10主键 非空2admin_pwd密码nvarchar203power权限int 1最或0普通4请求类型表(newask)请求表用于提供请求信息。请求表的字段说明如表3-4所示。表3-4 表newask的结构作用请求类型表序号英文字段名称字段汉名称字段类型大小备注1newaskid请求类型编号int主键(自增)2askuserid请求者int 非空3asktime时间datetime 4askcontext内容text 505result结果int default 13.3.2数据库实体分析1聊天实体结构图颜色聊天实体 时间聊天者表情 内容图3-1 聊天实体结构图2会员实体结构图注册者用户idid密码姓名性别图片id自我介绍朋友图3-2 会员实体结构图3管理员实体结构图 管理员用户名密码权限图3-3 管理员实体结构图4好友请求实体结构图好友请求请求者请求编号内容接受者图3-4 请求实体结构图第4章 详细设计4.1后台管理功能实现管理员登录模块为本系统的后台页面,此页面必须是特定的操作人员有相关的账号和密码才能登陆管理的主要页面。管理员登录页面必须通过验证用户名、密码正确与否,只有合法的用户才可以进入系统的核心。当用户名没有输入用户名、密码时,系统会通过非空验证再用户名和密码的后面显示“不允许为空”的字样。当输入信息正确点击“确定” 按钮时,就会弹出“登陆成功”的消息提示框,进入系统的主界面进行操作;如输入错误信息将弹出“用户名或密码错误,请检查!”的消息提示框,无法进入界面。单击“退出” 按钮可关闭当前页面,如图4-1所示。在管理员登录页面中的“管理员名称”处输入管理员用户名“admin”,在密码处输入“admin”,单击“确定”按钮,进入如图4-2所示。系统主要包括:会员的信息管理、公告信息的管理、聊天内容显示的管理、以及管理员系统密码的修改。期中增加、删除、修改、查询的操作方法相似,下面以管理员维护为例,讲解其操作方法。公告的管理主要有:公告信息的添加、删除和修改等操作,由于这些信息的执行操作大致是相同的,所以我们在这里主要介绍管理员修改的各种操作。会员信息设置模块包括会员信息列表、添加会员、修改会员信息和删除会员4部分功能。在功能区中单击“管理员信息”按钮,进入管理员页面。此页面主要实现添加管理员信息的操作功能。单击“增加”按钮,进入编辑管理员信息的页面。此页面主要实现的是显示管理员的信息、修改、删除、会员信息等功能。对管理员页面的操作方法如下:添加管理员密码。单击“新建管理员”按钮,进入如图4-3所示的页面,输入本次管理员密码,在管理员用户名、密码、确认密码,验证码处添加相关内容,然后单击“确定”按钮,完成添加操作。窗体设计界面图4-1 管理员登录图图4-2 后台管理页面图图4-3 管理员修改信息图4.2前台功能的实现登录聊天:在前台直接登录,进入如图4-5所示的页面,可以直接输入名称进入,也可注册会员登录,登录以后会保存用户的聊天记录。聊天内容窗体:显示现在会员的聊天内容,这个窗口也可按一定的时间自动更新的。 发聊天信息:这个窗体可以发聊天信息,对所有人选择可以聊天,也可以私聊,要发的信息只能对相应选择的人观看,其它人看不到,其中右边还有选择自己在上面显示窗体上的字体大小或是颜色。如图4-6所示。窗体设计界面图4-4 前台会员或是游客进入聊天图图4-5 显示聊天信息图图4-6 发聊天信息图第5章 编码实现5.1显示信息的代码此聊天页面的信息主要就是在页面上显示来客的聊天信息,我们可以很容易的显示我们的发言,让其它人看到,其中的颜色和大小可以区分不同的说话者。在这里我们主要用到的是把数据库中的数据读出来显示在一个页面,然后在当前页面对其调用,另一个页面是自动刷新的。实现代码如下:/ / 显示聊天信息 / / public dataset showtopchat() dataset dst =new dataset () ; try cmd = new sqlcommand(select top 10 * from chat order by createtime desc , con.conopen(); sda = new sqldataadapter(cmd ); sda.fill(dst); catch (exception) finally con.conclose(); return dst ; / / 绑定聊天信息 / public void initdata() chatoper chatoper=new chatoper (); dataset ds = chatoper.showtopchat(); / dataset ds = applicationchat.tostring(); if (ds != null) foreach( datarow dr in ds.tables0.rows ) response.write();/颜色 response.write(drcreatetime.tostring();/发言时间 response.write(【 + drusername.tostring() + 】);/发言用户 response.write(dremotion.tostring();/表情 response.write(说道:); response.write(drcontext.tostring();/发言内容 response.write(); 5.2修改操作数据的代码实现在修信息时,点击要修改的内容,根据编号从而进入相关修改的信息页,显示出这信息,这样就可以修改它的内容了。修改信息时要提取修改内容的id信息,这就用到了数据回填的内容。下面以我们常用到的注册用户实现代码如下: / / 用户注册 / / 用户实体信息 / 结果信息 public string insertusers(userentity userentity) string str = ; try cmd = new sqlcommand( insert into users (userid,userpwd,username,sex,tel,area,brithday,myinfo,mail) values( + userentity.userid + , + userentity.userpwd + , + userentity.username + , + userentity.sex + , + userentity.tel + , + userentity.area + , + userentity.birthday + , + userentity.myinfo + ,+userentity.mail +), con.conopen(); int i = cmd.executenonquery(); if (i = 1) str = ok; else str = 失败,请检查!; catch (sqlexception ex) if (ex.number = 2627) str = 已存在此用户!; else str = 系统错误!; finally con.conclose(); return str; / / 根据相关的id要删除用户 / / 用户组 / public string delusers(string userids) string str = ; try cmd = new sqlcommand( delete from users where userid= + userids + , con.conopen(); int i = cmd.executenonquery(); if (i 0) str = ok; else str = 失败,请检查!; catch (sqlexception ex) str = 系统错误!; finally con.conclose(); return str; / / 用户自己对信息的修改 / / 信息实体 / 结果信息 public string updateusers(userentity userentity) string str = ; try cmd = new sqlcommand( update users set userpwd= + userentity.userpwd + ,username= + userentity.username + ,sex= + userentity.sex + ,tel= + userentity.tel + ,area= + userentity.area + ,brithday= + userentity.birthday + ,myinfo= + userentity.myinfo + where userid= + userentity.userid + , con.conopen(); int i = cmd.executenonquery(); if (i = 1) str = ok; else str = 失败,请检查!
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年浙江宁波市医疗中心李惠利医院招聘编外工作人员2人考前自测高频考点模拟试题及答案详解(新)
- 2025杭州钱塘区紧缺岗位人才招聘23人考前自测高频考点模拟试题及答案详解(各地真题)
- 2025年福建省厦门市集美区幸福幼儿园招聘1人考前自测高频考点模拟试题及完整答案详解
- 2025南昌市劳动保障事务代理中心招聘1名外包驾驶员模拟试卷附答案详解
- 2025昆明聂耳交响乐团编外人员招聘(1人)模拟试卷及答案详解(名校卷)
- 2025年西夏区自治区级公益性岗位招聘考前自测高频考点模拟试题及答案详解(全优)
- 2025贵州遵义粮食和物资(集团)有限公司招聘工作人员及笔试历年参考题库附带答案详解
- 2025贵州融通融资担保有限公司招聘4人笔试历年参考题库附带答案详解
- 2025航天科工集团科技保障中心有限公司部分岗位招聘11人笔试历年参考题库附带答案详解
- 2025福建省大数据集团厦门有限公司招聘7人笔试历年参考题库附带答案详解
- 会计实务:浅谈农业专项资金审计的方式方法
- 尼康数码照相机D5600使用说明书
- 《燃烧基础知识》课件
- 检验医学尿常规课件
- 职校开学第一课课件:谁说职业没前途
- TBT 3329-2013 电气化铁路接触网隧道内预埋槽道
- 2024版公司100%股权转让协议
- 便利店设计方案
- 对意外伤害儿童的紧急救治方法
- 为成果而管理
- 乳腺癌骨转移护理查房课件
评论
0/150
提交评论