论坛设计毕业论文_第1页
论坛设计毕业论文_第2页
论坛设计毕业论文_第3页
论坛设计毕业论文_第4页
论坛设计毕业论文_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

毕业论文(设计)毕业论文(设计)设计题目:学生姓名:***学号:院系:软件学院专业:软件技术班级:软件技术3班指导老师:目录论文摘要 1论坛的设计论文 2一、 BBS介绍 2二、 使用工具及相关知识 3(一) SQLServer2008概述 3(二) ADO.NET概述 3(三) 简介 4三、 系统简单分析 4(一) 系统可行性分析 4(二) 系统功能的需求分析 6(三) 系统简要用例图分析 8(四) 运行环境 9四、 系统总体设计 10(一) 系统的设计目标 10(二) 系统功能结构 11五、 数据库设计 12(一) 数据库和设计概述 12(二) 概念模型设计(E-R图) 13(三) 数据库逻辑设计 14六、 系统的详细设计与实现 17(一) 前台设计与实现 17(二) 论坛后台页面设计如实现 28结论 36致谢 37参考文献 38 论文摘要论坛系统BBS(BullitinBoardSystem)是互联网上一种人与人之间交互的必备工具,特别是做网站的必备,网上论坛提供一个信息交流的空间。人们可以通过论坛一起讨论自己喜欢的话题,提出自己喜欢的话题或者是回答一些问题。用户可以在论坛上发表对某个问题的看法阐述自己的观点,给别人讨论对某个问题的看法,在Internet的发展中论坛的作用是无法代替的。然而开发论坛的应用程序必须了解两部分的内容,即前台开发工具和后台的数据库。本文利用ASP.NET技术进行前台界面设计,利用SQLServer2008设计的后台数据库以及利用ADO.NET数据库访问技术实现对数据库的各种管理操作,实现BBS的各种基本功能。主要分析了BBS的主要组成情况,包括BBS的设计目标,框架结构,数据流程和BBS的主要特点等,重点介绍了前台功能模块的详细思路和实现方法,以及对后台数据库关键技术和部分源代码的详细说明。关键词:BBSASP.NETADO.NETSQL姓名(开封大学软件技术专业)论坛系统服务已经是互联网站一种极为常见的互动交流服务。论坛可以向网友提供开放性的分类专题讨论区服务,可以在此发表自己的某些观感、交流某些技术、经验乃至人生的感悟和忧欢,亦可以作为网友之间的交流渠道。通过论坛的方式,增强人与人、个人与团体、团体与团体之间的交流联系,在Internet上实习信息的传递,提高办事效率。因此论坛建设在Internet应用上的地位显而易见,它已成为现代人沟通和获取信息的重要组成部分,从而倍受人们的重视。BBS介绍BBS起源于二十世纪80年代初,最早的BBS只提供消息投递和阅读功能,使用者通常是些计算机爱好者。随后,系统允许会员之间分享软件、文件,进行实时网络对话、信件传输等。为了提供更好的服务,一些站点实行收费政策,但目前Internet上还是有无数免费BBS站点。一般BBS站点地址以域名形式出现,这些站点可通过远程登录进行连接,更多的站点采用WWW的形式供会员使用。BBS也被称为异步会议系统、布告板,是网络上除了E-mail之外,最为普遍的在线讨论系统,它来源于早期Internet发展的BBS系统(BulletinBoardSystem),随着Internet的发展,逐步演变成现在的形式——基于Web的BBS系统。在本文中,主要介绍使用ASP.NET技术来实现网络论坛建设。通过基于Internet互联网的动态WEB数据技术,可以解决远程的数据传输与读取,远程的客户终端(Client)可以通过WEB页面提交请求,查询远端的数据服务器上的信息,以实现信息的共享,同时利用Internet技术可以降低软件的开发和部署成本,只要在服务器上安装WEB应用就可以使每个客户端都能浏览使用。目前,通过BBS系统可随时获取各种最新的信息;也可以通过BBS系统来和别人讨论计算机软件、硬件、硬件、Internet、多媒体、程序设计及人文、地理等等各种有趣的话题;还可以利用BBS系统来发布一些“问题”、“廉价转让”、“招聘启示”等问题;更可以召集亲朋友好友到聊天室内高谈论阔……这个精彩的天地就在你我的身旁,只要您拥有一台可以访问互联网的计算机,就可以通过这个交流平台,来享受它的种种服务。使用工具及相关知识SQLServer2008概述SQLServer2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。这个平台有以下特点:1.可信任的——使得公司可以以很高的安全性、可靠性和可扩展性来运行他们最关键任务的应用程序。2.高效的——SQLServer2008降低了管理系统、.NET架构和VisualStudio的时间和成本,使得开发人员可以开发强大的下一代数据库应用程序。3.智能的——商业智能(BI)继续作为大多数公司投资的关键领域和对于公司所有层面的用户来说的一个无价的信息源。。它提供了平台互用性和可伸缩的数据访问。ADO.NET增强了对非连接编程模式的支持,并支持RICHXML。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理。事实上,接受数据的组件不一定要是ADO.NET组件,它可以是基于一个MicrosoftVisualStudio的解决方案,也可以是任何运行在其它平台上的任何应用程序。ADO.NET是与数据源交互的.NET技术。有许多的DataProviders,它将允许与不同的数据源交流――取决于它们所使用的协议或者数据库。然而无论使用什么样的DataProvider,你将使用相似的对象与数据源进行交互。SqlConnection对象管理与数据源的连接。SqlCommand对象允许你与数据源交流并发送命令给它。为了对进行快速的只“向前”地读取数据,使用SqlDataReader。如果想使用断开数据,使用DataSet并实现能进行读取或者写入数据源的SqlDataAdapter。ASP.NET的前身ASP技术,是在IIS2.0上首次推出(WindowsNT3.51),当时与ADO1.0一起推出,在IIS3.0(WindowsNT4.0)发扬光大,成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了VisualInterDev开发工具,在1994年到2000年之间,ASP技术已经成为微软推展WindowsNT4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始如雨后春笋般的出现在网络上。它的简单以及高度可定制化的能力,也是它能迅速崛起的原因之一。ASP.NET具有一下几个重要特点特点:——ASP.NET是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。——ASP.NET使运行一些很平常的任务如表单的提交客户端的身份验证、分布系统和网站配置变得非常简单。——ASP.NET使用一种字符基础的,分级的配置系统,虚拟服务器环境和应用程序的设置更加简单,因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。系统简单分析系统可行性分析可行性研究的目的,就是用最小的代价在尽可能短的时间内确定是否能够解释决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上就是要进行一次大大的压缩简化了的系统分析和设计的过程,也就是在较高层次上以抽象的方式进行的系统分析和设计的过程。系统的可行性分析主要包括技术上的可行性、经济上的可行性、操作上的可行性、法律上的可行性和开发环境上的可行性。本系统的可行性分析如下:在技术方面:随着国内外软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。从整个系统的技术构成上来看,它属于一个数据库应用类的系统。其基本操作就是对存在数据库中的数据进行添加、删除、查找、编辑等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。因此从技术方面来看考虑本系统的可行性是可行的。在经济方面:现在越来越多的人都是通过网络做许多事情,这个BBS系统易于操作,虽然对硬件要求比较高但是其安全性和管理性比较好,实用性比较好,相信经济效益也会比较高。因此从经济方面考虑开发此系统是可行的。在操作方面:随着社会的发展,全民素质的提高,不论是对于电脑系统的基本操作还是对电脑的基本维护都有了一定的基础。同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑的鼓掌问题,且系统使用简单明了,因此从操作方面来看此系统是可行的。在法律方面:此系统没有侵犯他人的个人合法利益,系统所涉及的条款与国家的现行法律没有抵触,不损坏国家、集体、个人的任何利益,所以在法律上是完全可行的。开发环境可行性:开发此BBS系统需要硬件环境要求操作系统为WindowsXPProfessional以上系统版本,需要安装Internet信息服务,还有ASP.NET环境。目前看操作系统和软件都不是问题,系统硬件也可以满足,所以从开发环境上来说是可行的。软件需求分析工作是软件生存周期中的重要的一步,也是决定性的一步。只有通过软件需求分析,才能把软件功能和性能的总体概念描述为具体的软件需求规格说明,从而奠定软件开发的基础。因此,在软件开发前应该做好对软件的需求分析。系统功能的需求分析基本功能论坛的基本功能是构成论坛系统的必要功能,包括如下基本功能。发帖。论坛最初是为了互相讨论话题而诞生的,发表帖子就是表达自己的看法,与他人进行讨论,因此发帖是论坛首要的功能。浏览帖子。发表帖子,就是供他人浏览查看,与他人分享自己的想法和经验。回帖。浏览了他人发帖子,想要发表自己的想法,参与讨论,就可以回复这个帖子。其实,发帖→浏览帖子→回帖三大功能周而复始的循环进行,就构成了论坛,每个参与论坛的人,主要目的就是发帖,查看自己已经发表的帖子,针对自己感兴趣的帖子进行回复,参与讨论。三大基本功能的相互关系如图1所示。发帖帖子列发帖帖子列回帖浏览帖图1论坛基本功能关系图除以上基本功能外,其它的论坛功能都是扩展功能,包括如下功能:注册登录。方便经常发帖的人不需要重复填写个人信息。分板块浏览帖子。有利于具有相同兴趣的用户相互讨论,不易跑题。编辑帖子。提供给用户更新自己发言的选择。删除帖子。如果用户发飙了不符合论坛规则的帖子,组需要管理员删除这些帖子。转移帖子。论坛划分了板块,如果帖子内容不属于所在板块的关注话题,那么管理员可以选择将此帖移动到所属话题的板块中去。置顶帖子。管理员如果需要强调某些帖子的重要,有必看性,可以将这些帖子置顶。指定精华帖。如果管理员认为某帖子内容很好,可以坐上标记,推荐给用户看,用户也可以只看精华帖。搜索帖子。方便用户查找自己需要的内容。管理板块。论坛板块需要先创建才能被使用,管理还可以删除板块的相关信息。设置参数。论坛一般有一些初始化信息,比如论坛名称,每页显示帖子的数量等参数信息。管理用户。管理员可以对论坛注册用户进行管理,直接添加用户,赋予相关权限,也可以修改已注册用户的权限,对于违规用户可以删除。删除作者用户删除作者用户注册登录转移管理板块编辑帖子板块图2论坛扩展功能图系统简要用例图分析对于访问论坛的用户,可分为注册会员和为注册的临时用户,这两种用户有着不同的权限,比如临时用户只能对帖子进行查看,而注册会员除了查看帖子之外,还可以发帖,回复,查找用户,并且可以对自己的注册资料进行修改等等。系统的用例图如下图3所示:注册用户注册用户临时用户浏览帖子发表帖子回复帖子修改资料用户搜索管理员用户管理帖子管理论坛信息管理图3系统用例图图3系统用例图运行环境运行环境配置从硬件和软件两方面描述,所列出的都是系统所能正常运行的最低限度。而更高的硬件配置和软件环境将会带来更快的运行速度以及更稳定的运行效果。硬件要求:CPU:IntelPentium600MHz以上。内存:128M以上。磁盘安装空间:3.2GB(完全安装,包括.NETFrameworks以及.NETIDE全部开发工具和MSDN)。显示:800*600,256色。软件需求:MicrosoftWindows2000+SP1。 MicrosoftInternetExplorer5.5。系统总体设计系统的设计目标对于典型的数据库管理系统,尤其是对像论坛这样的数据流量特别大的网络管理系统,必须要满足使用方便、操作灵活等设计需求。本系统在设计时应满足以下几个目标:1.采用人机对话的操作方式,界面设计美观友好,信息查看灵活、方便、快捷、准确,数据存储安全可靠。2.全面展示系统内所有分类的帖子,并进行分页显示。3.为用户提供一个方便、快捷的主题信息查看功能。4.实现在线发表帖子。5.提供登录模块,主要用开管理员登录系统和发表帖子时留下发表者的信息。6.用户随时都可以查看自己发表的帖子。7.对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。8.系统最大限度地实现了易维护性和易操作性。9.系统运行稳定安全可靠。系统功能结构查看版面下根贴查看精华帖子搜索根贴查看根贴内容查看版面下根贴查看精华帖子搜索根贴查看根贴内容用户登录用户注册用户注销发表帖子回复帖子BBS论坛前台前台功能结构图如图4所示。图4前台功能模块图2.后台功能结构图4前台功能模块图类别管理版面管理类别管理版面管理用户管理退出管理BBS论坛后台图5后台功能模块图系统流程图图5后台功能模块图类别管理版面管理用户管理类别管理版面管理用户管理录是否成功进入后台后台首页用户登录管理员图6后台功能流程图图7前台台功能流程图图(2)系统后台流程图如下图7所示。图7前台台功能流程图图查看精华帖子搜索根贴查看版面下根贴查看根贴内容发表帖子回复帖子提前帖子删除帖子置顶帖子置为精华贴删除回复帖查看自己发表的根贴用户注册录录提示无权操作游客是是否是否否前台首页用户登录成功是数据库设计数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。数据库和设计概述1.数据库是信息系统的核心和基础,把信息系统中大量的数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使信息系统可以方便、及时、准确地从数据库中获得所需的信息。2.数据库是信息系统的各个部分能否紧密地结合在一起以及如何结合的关键所在。3.数据库设计是信息系统开发和建设的重要组成部分。概念模型设计(E-R图)数据模型是是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。E-R模型的基本概念ER图概念化地构建实体间关系的模型,这使得它们区别于数据库模型图。ER图的理念是:项目所有参与者能理解ER图。ER图由不同实体类型、关系、特性和类型构成。实体是诸如用户的实际对象,有时更抽象,但必须有业务意义。特性用于描述实体,关系用于实体之间(1)实体:现实世界中的事物;(2)属性:事物的特性;(3)联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。用户M用户M发表N帖子详细资料11N管理管理员1N添加1修改论坛图8系统E-R图数据库逻辑设计图9BBS数据库所包含的数据表结构图BlockBig(论坛区块信息表)BlockSmall(论坛版块信息表)Message(消息信息表)图9BBS数据库所包含的数据表结构图BlockBig(论坛区块信息表)BlockSmall(论坛版块信息表)Message(消息信息表)Popedom(论坛类别信息表)Post(论坛帖子信息表)PostBack(帖子回复信息表)PostType(帖子类型信息表)Users(用户信息表)BBS本系统包括8个数据表,下面分别是这些表的结构。BlockBig(论坛区块信息表),该表结构如下表表1所示。表1BlockBig(论坛区块信息表)列名数据类型是否主键允许空值描述bigIdint是否ID自动生成bigNamevarcher否是区的名称bigDescriptionvarcher否是对区的描述BigAdminvarcher否是区管理员bigAddtimedatetime否是区添加时间BlockSmall(论坛版块信息表),该表结构如下表表2所示。表2BlockSmall(论坛版块信息表)列名数据类型是否主键允许空值描述small_Idint是否表Id自动生成small_Namevarchar否是板块名称small_Desciptionvarchar否是板块描述small_ImgUrlvarchar否是板块图片small_Adminint否是版主small_BigIdint否是所属区号small_Adddatedatetime否是加入时间small_PostCountint否是帖子数量small_PostBackCountint否是回复帖子数量Message(消息信息表),该表结构如下表表3所示。表3Message(消息信息表)列名数据类型是否主键允许空值描述message_idint是否表Id自动生成message_titlevarcher否是消息题目message_contentvarcher否是消息内容message_senderint否是消息发送者message_toUserint否是消息接收者message_IsReadint否是是否已读message_Adddatedatetime否是消息时间Popedom(论坛类别信息表),该表结构如下表表4所示。表4Popedom(论坛类别信息表)列名数据类型是否主键允许空值描述popedom_idint是否表Id自动生成popedom_Namevarchar否是论坛类别名称Post(论坛帖子信息表),该表结构如下表表5所示。表5Post(论坛帖子信息表)列名数据类型是否主键允许空值描述post_idint是否表Id自动生成post_Titlevarchar否是帖子题目post_Contentvarchar否是帖子内容post_Senderint否是帖子发表人post_SendTimedatetime否是帖子发送时间post_SmallIdint否是所属版块编号post_TypeIdint否是帖子类型标号post_BrowseCountint否是帖子浏览次数post_BackCountint否是帖子回复次数PostBack(帖子回复信息表),该表结构如下表表6所示。表6PostBack(帖子回复信息表)列名数据类型是否主键允许空值描述Postback_Idint是否表Id自动生成Postback_contentvarchar否是帖子回复内容Postback_Senderint否是帖子回复人Postback_SendTimedatetime否是帖子回复时间Postback_PostIdint否是帖子标号PostType(帖子类型信息表),该表结构如下表表7所示。表7PostType(帖子类型信息表)列名数据类型是否主键允许空值描述PostType_Idint是否表Id自动生成PostType_Namevarchar否是帖子类型名称PostType_BlockSmallIdint否是所属版块标号PostType_Adddatedatetime否是帖子类型创建时间Users(用户信息表),该表结构如下表表8所示。表8Users(用户信息表)列名数据类型是否主键允许空值描述UserIdint是否表Id自动生成UserNamevarchar否是用户姓名UserPwdvarchar否是用户密码UserEmailvarchar否是用户EmailUserPicvarchar否是用户照片UserQxint否是用户权限设置UserOnlineint否是是否在线UserIpvarchar否是用户ipUserLoginDatedatetime否是用户注册时间IsAdminint否是是否管理员系统的详细设计与实现前台设计与实现由于前台功能模块较多,而各模块的实现过程都是类似的,所以对于系统前台,现在只介绍系统重点设计。图10Asp_netBBS论坛首页论坛系统前台首页页面运行结果如下图所示。图10Asp_netBBS论坛首页该页面为论坛首页页面,当用户进入本系统时会自动进入本页面。用户可以自行选择自己想进的版面。此BBS设计有母版页存在,故论坛首页实现代码如下:<asp:DataListID="DataList1"runat="server"DataKeyField="bigId"DataSourceID="SqlDataSource1"BackColor="LightGoldenrodYellow"BorderColor="Tan"BorderWidth="1px"CellPadding="2"ForeColor="Black"><FooterStyleBackColor="Tan"/><AlternatingItemStyleBackColor="PaleGoldenrod"/><SelectedItemStyleBackColor="DarkSlateBlue"ForeColor="GhostWhite"/><HeaderStyleBackColor="Tan"Font-Bold="True"/><ItemTemplate><tablealign="left"style="width:100%;height:127px;"><tr><tdclass="style8"><%#Eval("bigName")%></td><tdclass="style7"align="left">区长:</td><tdclass="style3"align="left"><asp:LabelID="Label1"runat="server"Text='<%#Eval("BigAdmin")%>'></asp:Label></td><tdclass="style3"align="right">创建日期:</td><tdclass="style3"align="left"><asp:LabelID="Label2"runat="server"Text='<%#Eval("bigAddtime")%>'></asp:Label></td></tr><tr><tdclass="style9"><ahref='android_study.aspx?big_id=<%#Eval("bigId")%>'><imgsrc="images/eoe.jpg"/></a></td><tdclass="style6"colspan="4"><ahref='android_study.aspx?big_id=<%#Eval("bigId")%>'><%#Eval("bigDescription")%></a></td></tr></table></ItemTemplate></asp:DataList>图11Asp_netBBS论坛登录页面该BBS论坛登录页面如下。图11Asp_netBBS论坛登录页面该页面是用户登录页面,输入正确的用户名和密码按登录按钮则进入登录后页面,按重置按钮则清空文本框。若用户未注册按注册按钮进入注册页面。其实现代码如下:………publicpartialclasslogin:System.Web.UI.Page{//获取数据库连接字符串DataHelperhelper=newDataHelper();protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidUser_login_Click(objectsender,EventArgse){StringName=UserName.Text;stringPwd=User_pwd.Text;Stringuser_ip=Request.UserHostAddress;//获取用户IP地址信息if(Name==""||Pwd==""){Stringalerts="用户名或密码不能为空!";Response.Write("<script>window.alert('"+alerts+"')</script>");}else{VldUserLogin(Name,Pwd,user_ip);}}publicvoidVldUserLogin(stringstrUserName,stringstrPassWord,stringip)//验证并修改个别信息{stringstrUserId=null;stringisadmin=null;intUserQx=0;Stringconnstring=helper.Getstr();StringstrSql="SELECTUserIdFROMUsersWHEREUserName='"+strUserName+"'andUserPwd='"+strPassWord+"'";//根据用户名和密码来查询用户的IDStringstrSql2="SELECTIsAdminFROMUsersWHEREUserName='"+strUserName+"'andUserPwd='"+strPassWord+"'";//根据用户名和密码来查询用户是否为管理的的标志StringstrSql3="SELECTUserQxFROMUsersWHEREUserName='"+strUserName+"'andUserPwd='"+strPassWord+"'";//查询用户的权限stringstrSql4="updateUserssetUserOnline='"+1+"',UserIp='"+ip+"'WHEREUserName='"+strUserName+"'andUserPwd='"+strPassWord+"'";SqlConnectionconn=newSqlConnection(connstring);SqlCommandcmd=newSqlCommand();cmd.Connection=conn;//设置连接SqlDataReaderreader;try{conn.Open();cmdmandText=strSql;reader=cmd.ExecuteReader();if(reader.Read()){strUserId=reader["UserId"].ToString();//获取编号UserIdreader.Close();if(strUserId.Equals("")){Stringalerts="该用户不存在!";Response.Write("<script>window.alert('"+alerts+"')</script>");}else{cmdmandText=strSql2;reader=cmd.ExecuteReader();if(reader.Read()){isadmin=reader["IsAdmin"].ToString();//获取是否是管理员reader.Close();}cmdmandText=strSql3;reader=cmd.ExecuteReader();if(reader.Read()){UserQx=int.Parse(reader["UserQx"].ToString());//获取权限reader.Close();}cmdmandText=strSql4;intresult=cmd.ExecuteNonQuery();//修改部分信息Session["user_qx"]=UserQx;//往Session里赋值Session["user_id"]=strUserId;Session["user_name"]=strUserName;//是否是管理员,用于前台主框架是否显示管理Session["IsAdmin"]=isadmin;Response.Redirect("android_index.aspx");//成功跳转}}}catch(Exceptionex){Response.Write("意外关闭");conn.Close();}finally{conn.Close();}}}图12Asp_netBBS论坛注册页面该论坛注册页面如下图所示:图12Asp_netBBS论坛注册页面该页面为用户注册页面,用户按要求填完后可进行注册,若用户想添加头像则可以输入头像网络地址或头像本地所在位置,进行头像上传。若点击重置则清空所有文本框内容,进行重新输入。其页面实现代码如下所示:……publicpartialclassJion:System.Web.UI.Page{//获取数据库连接字符串DataHelperhelper=newDataHelper();privatestringuser_Name1,pwd1,user_email1,ip,pic;intid=0;publicvoidAdd_user(){stringstrconnection=helper.Getstr();stringselectSQL="selectmax(UserId)asMaxIdfromUsers";SqlConnectionconn=newSqlConnection(strconnection);SqlCommandcmd=newSqlCommand(selectSQL,conn);SqlDataReaderreader;try{conn.Open();reader=cmd.ExecuteReader();if(reader.Read()){id=int.Parse(reader["MaxId"].ToString())+1;//取标号最大值Item();Response.Redirect("login.aspx");}reader.Close();}catch(Exceptionex){conn.Close();}finally{conn.Close();}conn.Close();}publicvoidItem()//插入元素{stringstrconnection=helper.Getstr();user_Name1=user_name.Text;pwd1=pwd.Text;pic=UpImg1.GetFilePath;user_email1=user_email.Text;Stringinsert="insertintoUsers(UserId,UserName,UserPwd,UserEmail,UserPic)values('"+id+"','"+user_Name1+"','"+pwd1+"','"+user_email1+"','"+pic+"')";SqlConnectionconn=newSqlConnection(strconnection);try{conn.Open();SqlCommandcmd=newSqlCommand(insert,conn);intresult=cmd.ExecuteNonQuery();}catch(Exceptionex){conn.Close();}finally{conn.Close();}conn.Close();}protectedvoidPage_Load(objectsender,EventArgse){}protectedvoidButton2_Click(objectsender,EventArgse)//注册按钮触发事件{if((user_name.Text=="")||(pwd.Text==""))//判断用户名和密码是否为空{stringalerts="用户名和密码不能为空!";Response.Write("<script>window.alert('"+alerts+"')</script>");}elseif(pwd.Text!=rpwd.Text){stringalerts="两次输入的密码不一致!";Response.Write("<script>window.alert('"+alerts+"')</script>");}else{Add_user();}}protectedvoidButton1_Click(objectsender,EventArgse){//检测该用户是否已经存在stringsql="selectUserIdfromUserswhereUserName='"+user_name.Text+"'";stringstrconnection=helper.Getstr();SqlConnectionconn=newSqlConnection(strconnection);SqlCommandcmd=newSqlCommand(sql,conn);SqlDataReaderreader;try{conn.Open();reader=cmd.ExecuteReader();if(reader.Read()){reader.Close();Response.Write("<script>window.alert('该用户已经存在')</script>");}else{Response.Write("<script>window.alert('该用户可以使用')</script>");}}catch(Exceptionex){conn.Close();}finally{conn.Close();}}}图13Asp_netBBS论坛发帖页面该论坛发帖页面如下图所示。图13Asp_netBBS论坛发帖页面该页面为用户发表帖子页面,若用户未登录则自动跳转到用户登录界面,提示用户登录,若用户已登录,则可以进行发帖,按重置按钮后则清空所有文本框。该论坛发帖页面后台实现代码如下所示:……publicpartialclassSentPost:System.Web.UI.Page{//获取数据库连接字符串DataHelperhelper=newDataHelper();protectedvoidPage_Load(objectsender,EventArgse){//验证是否有用户登录if(Session["user_id"]==null){Response.Redirect("login.aspx");}}//发表提交按钮事件protectedvoidButton1_Click(objectsender,EventArgse){//获取表单信息intPostType=int.Parse(posttype_ddl.SelectedValue);stringstrTitle=txt_title.Text;intUserId=int.Parse(Session["user_id"].ToString());//内容stringstrContent=nr.Text;intPostSmall_Id=int.Parse(Request.QueryString["Small_Id"]);//添加帖子表AddPost(strTitle,strContent,UserId,PostType,PostSmall_Id);}publicvoidAddPost(stringstrTitle,stringstrContent,intpost_senderId,intTypeId,intPostSmallId){intid=0;stringstrconnection=helper.Getstr();stringselectSQL="selectmax(post_id)asMaxIdfromPost";SqlConnectionconn=newSqlConnection(strconnection);SqlCommandcmd=newSqlCommand();//5_1_a_s_p_xcmd.Connection=conn;cmdmandText=selectSQL;SqlDataReaderreader;try{conn.Open();reader=cmd.ExecuteReader();if(reader.Read()){id=int.Parse(reader["MaxId"].ToString())+1;//取标号最大值reader.Close();if(id>0){stringinsertSQL="insertintoPost(post_id,post_title,post_Content,post_Sender,post_SmallId,post_TypeId)values('"+id+"','"+strTitle+"','"+strContent+"','"+post_senderId+"','"+PostSmallId+"','"+TypeId+"')";cmdmandText=insertSQL;inta=cmd.ExecuteNonQuery();if(a>0){Response.Redirect("Post_List.aspx?small_id="+PostSmallId);}}}}catch(Exceptionex){conn.Close();}finally{conn.Close();}conn.Close();}}论坛后台页面设计如实现论坛后台用户管理界面设计与实现图14Asp_netBBS论坛用户管理界面论坛页面设计如下图所示:图14Asp_netBBS论坛用户管理界面该页面为管理员用户管理页面,管理员登录后可以根据其界面提示,进行论坛管理,按退出按钮后则返回论坛首页。其后台实现代码如下:……publicpartialclassmassege_massage_user:System.Web.UI.Page{//获取数据库连接字符串DataHelperhelper=newDataHelper();protectedvoidPage_Load(objectsender,EventArgse){//登陆后授权变动的区域均隐藏bk_txt.Visible=false;bd_ddl.Visible=false;}//权限下拉列表的触发事件protectedvoidUser_QX_SelectedIndexChanged(objectsender,EventArgse){//获取下拉列表中的值intQX=int.Parse(User_QX.SelectedValue);//若为3,即选择版主if(QX==3){bk_txt.Visible=true;bk_txt.Text="板块";bd_ddl.Visible=true;//变动的下拉列表内显示板块类别信息bd_ddl.DataSourceID="SqlData_small";bd_ddl.DataTextField="small_Name";bd_ddl.DataValueField="small_Id";}//若为4,即选择区长if(QX==4){bk_txt.Visible=true;bk_txt.Text="区块";bd_ddl.Visible=true;//变动的下拉列表内显示板块类别信息bd_ddl.DataSourceID="SqlData_big";bd_ddl.DataTextField="bigName";bd_ddl.DataValueField="bigId";}}//触发授权按钮protectedvoidGrant_Click(objectsender,EventArgse){StringconnStr=helper.Getstr();SqlConnectioncon=newSqlConnection(connStr);SqlCommandcmd=newSqlCommand();cmd.Connection=con;SqlDataReaderreader;try{con.Open();if(int.Parse(user_id.Text)>0){stringUser_id=user_id.Text;intqx=int.Parse(User_QX.SelectedValue);if(User_id==""){stringmessage="请输入会员号";Response.Write("<Scriptlanguage='JavaScript'>alert('"+message+"');</Script>");}else{stringsql1="select*fromUserswhereUserId='"+int.Parse(User_id)+"'";cmdmandText=sql1;reader=cmd.ExecuteReader();if(reader.Read()){stringsql2="updateUserssetUserQx="+qx+"whereUserId="+int.Parse(User_id);//修改小版块的版主reader.Close();if(qx==3){stringsmall_admin=User_id;stringsql3="updateBlockSmallsetsmall_Admin="+small_admin+"wheresmall_Id="+int.Parse(bd_ddl.SelectedValue);cmdmandText=sql3;inta=cmd.ExecuteNonQuery();}else{//修改区的区长if(qx==4){stringbig_admin=User_id;stringsql4="updateBlockBigsetbigAdmin="+big_admin+"wherebigId="+int.Parse(bd_ddl.SelectedValue);cmdmandText=sql4;intb=cmd.ExecuteNonQuery();}}cmdmandText=sql2;//修改用户的权限intc=cmd.ExecuteNonQuery();if(c>0){stringmessages1="授权成功!";Response.Write("<Scriptlanguage='JavaScript'>alert('"+messages1+"');</Script>");Response.Redirect("~/massege/massege_user.aspx");}else{stringmessages2="授权失败!";Response.Write("<Scriptlanguage='JavaScript'>alert('"+messages2+"');</Script>");}}}}else{stringmessages3="输入的格式错误!";Response.Write("<Scriptlanguage='JavaScript'>alert('"+messages3+"');</Script>");}}catch(Exceptionex){Response.Write("出错关闭");con.Close();}finally{Response.Write("最后关闭");con.Close();}}}管理员添加论坛版块设计实现图15Asp_netBBS论坛添加论坛版块页面添加论坛版块设计页面如下图所示:图15Asp_netBBS论坛添加论坛版块页面该页面为管理员添加论坛板块页面,管理员可在此页面添加论坛版块,按重置按钮后则是清空所有文本框。该论坛页面后台实现代码如下所示:……publicpartialclassmassege_massage_user:System.Web.UI.Page{//获取数据库连接字符串DataHelperhelper=newDataHelper();protectedvoidPage_Load(objectsender,EventArgse){//登陆后授权变动的区域均隐藏bk_txt.Visible=false;bd_ddl.Visible=false;}//权限下拉列表的触发事件protectedvoidUser_QX_SelectedIndexChanged(objectsender,EventArgse){//获取下拉列表中的值intQX=int.Parse(User_QX.SelectedValue);//若为3,即选择版主if(QX==3){bk_txt.Visible=true;bk_txt.Text="板块";bd_ddl.Visible=true;//变动的下拉列表内显示板块类别信息bd_ddl.DataSourceID="SqlData_small";bd_ddl.DataTextField="small_Name";bd_ddl.DataValueField="small_Id";}//若为4,即选择区长if(QX==4){bk_txt.Visible=true;bk_txt.Text="区块";bd_ddl.Visible=true;//变动的下拉列表内显示板块类别信息bd_ddl.DataSourceID="SqlData_big";bd_ddl.DataTextField="bigName";bd_ddl.DataValueField="bigId";}}//触发授权按钮protectedvoidGrant_Click(objectsender,EventArgse){StringconnStr=helper.Getstr();SqlConnectioncon=newSqlConnection(connStr);SqlCommandcmd=newSqlCommand();cmd.Connection=con;SqlDataReaderreader;try{con.Open();if(int.Parse(user_id.Text)>0){stringUser_id=user_id.Text;intqx=int.Parse(User_QX.SelectedValue);if(User_id==""){stringmessage="请输入会员号";Response.Write("<Scriptlanguage='JavaScript'>alert('"+message+"');</Script>");}else{stringsql1="select*fromUserswhereUserId='"+int.Parse(User_id)+"'";cmdmandText=sql1;reader=cmd.ExecuteReader();if(reader.Read()){stringsql2="updateUserssetUserQx="+qx+"whereUserId="+int.Parse(User_id);//修改小版块的版主reader.Close();if(qx==3){stringsmall_admin=User_id;stringsql3="updateBlockSmallsetsmall_Admin="+small_admin+"wheresmall_Id="+int.Parse(bd_ddl.SelectedValue);cmdmandText=sql3;inta=cmd.ExecuteNonQuery();}else{//修改区的区长if(qx==4){stringbig_admin=User_id;stringsql4="updateBlockBigsetbigAdmin="+big_admin+"wherebigId="+int.Parse(bd_ddl.SelectedValue);cmdmandText=sql4;intb=cmd.ExecuteNonQuery();}}cmdmandText=sql2;//修改用户的权限intc=cmd.ExecuteNonQuery();if(c>0){stringmessages1="授权成功!";Response.Write("<Scriptlanguage='JavaScript'>alert('"+messages1+"');</Script>");Response.Redirect("~/massege/massege_user.aspx");}else{stringmessages2="授权失败!";Response.Write("<Scriptlan

温馨提示

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

评论

0/150

提交评论