《网上论坛文档》doc版.doc_第1页
《网上论坛文档》doc版.doc_第2页
《网上论坛文档》doc版.doc_第3页
《网上论坛文档》doc版.doc_第4页
《网上论坛文档》doc版.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

开封大学 项目实战(论文) 题 目: 网上在线论坛 学生姓名:陈建华 专业班级:13级软件技术 学 号:2013113084 院 (系):软件职业技术学院 指导教师:张胜敏 完成时间:2014年12月24日 论文摘要BBS开辟了一块“空间”供用户读取信息、讨论问题。早期的BBS系统只提供消息投递和阅读功能,如今的BBS系统允许用户之间分享工具软件、技术文档等资源。在该系统上,网站浏览者可以畅所欲言,任何问题都可以在这里交流,它的最大优点是自由平等、快捷互动。一个成功的BBS系统可大大提高承载此论坛的网站点击率,使企业的用户加入到产品、服务等内容的讨论上来,起到收集反馈资料的作用,对企业战略发展有着很好的参考作用。 论文里说明了网上在线论坛的总体设计方案,使用了ASP.NET,关系到论坛运用的关键技术,数据库设计,数据库使用SQL Server2005 ;GridView控件的数据绑定技术和分页技术,如何在注册中使用事务,如何使用DataList控件的数据绑定技术,内连接查询技术等。关键词:网上在线论坛 ASP.NET SQL Server2005 目 录论 文 摘 要.2一、系统概述.4(一)系统的开发背景.4(二)系统的开发意义.4二、开发工具及技术简介.5 (一)ASP.NET开发技术.51.GridView控件的数据绑定技术.52.DataList控件的数据绑定技术.53.内连接查询技术.5(二)数据库技术.5三、系统的需求分析.6 (一)功能需求.6 (二)性能需求.6 (三)开发环境.7 (四)网站用例设计.7 1.用户用例图.8 2.管理员用例图.9四、系统的总体设计.10 (一)系统目标.10 (二)系统功能结构.10 (三)业务流程图.12 (四)系统预览.12 1.主页页面.13 2.注册页面.13 3.登录页面.14 4.修改当前用户页面.15 5.用户信息查询页面.165、 数据库设计.17 (一)数据库概要说明.17 (二)数据库概念结构设计.17 (三)数据库逻辑结构设计.19 (四)数据库的连接.21六、系统的具体实现.21 (一)主页面.21(二)用户登录注册模块设计.23(三)帖子相关界面.26 1.浏览帖子详细信息页面设计.26 2.回复帖子页面设计.28 3.发表新帖子页面设计.30 (四)用户管理.30 1.用户信息查询.30 2.添加用户信息.31 3.修改当前用户信息.32七、总结.33 致 谢.34 网上在线论坛系统 陈建华 (开封大学 软件技术专业)一、 系统概述(一)网站的开发背景X X X公司是一家以程序开发为主的民营企业,公司拥有自己的门户网站,为了方便企业员工内部技术交流,方便用户及时反馈意见,公司决定再开发一个技术论坛,为用户提供一种更为便捷的交流方式,即X X X BBS系统。其前台简单的操作和强大的功能为用户提供了方便的信息交流方式,同时后台也为网站管理员提供了便捷的主题、回复、用户等信息管理功能。 笔者受该公司的委托,开发X X X BBS系统。整个论坛设计实现,必须具有友好的运行界面、方便的功能操作、运行稳定可靠、易于维护、便于移植、无平台限制性等特点,同时系统还要求具有基础设施和制度来增加网站的吸引力,还要考虑如何抵制外来攻击等问题。(二)网站的开发意义Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体。作为Internet上一种先进的,易于被人们所接受的信息检索手段,WWW发展十分迅速,成为目前世界上最大的信息资源宝库。据估计,目前Internet上已有上百万个Web站点,其内容范围跨越了教育科研、文化事业、金融、商业、新闻出版、娱乐、体育等各个领域,其用户群十分庞大,因此,建设一个好的Web站点对于一个机构的发展十分重要。近年来,随着网络用户要求的不断提高及计算机科学的迅速发展,特别是数据库技术在Internet中的广泛应用,Web站点向用户提供的服务将越来越丰富,越来越人性化。 特别是教学论坛的应用,有助于教师更好地了解学习者的学习状况,学习要求及教学反馈意见,加强师生沟通,提高教学效果,同时促进由传授者向帮助者,支持者和促进者角色转化的实现,促进学习者自我学习和互助学习能力的不断提高。因此为了更好的让同学们学习数据库的基础知识需要设计数据库课程论坛。BBS是以网络作为载体,简易迅速便捷地发布自己的心得,及时有效轻松地与他人进行交流,再集丰富多彩的个性化展示于一体的综合性平台。展示丰富的个性化,对BBS功能的要求自然更高,新一代具有更多、更新、更全功能的BBS急需走进舞台。二、开发工具及技术简介(一) ASP.NET开发技术ASP.NET的开发工具为Microsoft Visual Studio2008,它可用来创建Windows应用程序和网络应用程序,也可用来创建网络服务、只能设备应用程序和Office插件。.NET的通用语言框架机制,其目的是在同一个项目中支持不同的语言所开发的组件。所有CLR支持的代码都会被解释成为CLR可执行的机器代码然后运行。它也包含了很多应用程序,比如:Gridview控件的数据绑定技术,DataList控件的数据绑定技术和内连接查询技术。 (二) 数据库技术 数据库的开发工具为SQL Server2005,它包含了非常丰富的新特性:通过提供一个更安全、可靠和高效的数据管理平台,增强企业组织中用户的管理能力,大幅提升IT管理效率并降低运维风险和成本;通过提供先进的商业智能平台满足众多客户对业务的实时统计分析、监控预测等多种复杂的管理要求。SQL Server2005将提供一个极具扩展性和灵活性的开发平台,不断拓展应用空间,实现Internet数据业务互联,而且带来新的商业应用机遇。 SQL Server2005的主要特点: 1.强大的查询与管理功能。2.强大的数据库开发功能。3.扩大了对SQL语言的支持。4.大量使用可视化的界面操作工具。5.支持面向对象的程序设计。6.多平台支持。7.支持网络应用 三、系统的需求分析网上在线论坛的主要功能是讨论各种语言的开发技术、技巧,并交流开发经验等,但是需要对技术栏目的文章浏览和发表文章功能加以限制,这样,论坛的管理功能显得尤为重要。除此之外,还需要将用户划分为不同级别,根据用户级别的不同在论坛中为用户分配不同的权限。同时,一个成功的BBS系统还需要拥有对各种信息管理的功能。通过对一些典型BBS系统的考察、分析,要求本系统具有以下特点: (一) 功能需求:系统具有良好的人机界面。 功能强大,操作简单,扩展性强,稳定性高。 系统无操作系统限制,方便不同平台之间的移植。 (二)性能需求:网站最大限度地实现易维护性和易操作性。 网站运行稳定、安全可靠。(三)开发环境:1.网站开发环境网站开发环境:Microsoft Visual Studio 2008集成开发环境.网站开发语言:ASP.NET+C#.网站后台数据库:SQL Server2005.开发环境运行平台:Windows XP(SP2)/Windows 2000(SP4)/Windows Server 2003(SP1).2.服务器端操作系统:Windows Server 2003(SP1).Web服务器:Internet信息服务(IIS)管理器.数据库服务器:SQL Server2005.浏览器:IE6.0.网站服务器运行环境:Microsoft.NET Framework SDK v2.0.3.客户端浏览器:IE6.0.分辨率:最佳效果1024*768像素.(四)网站用例设计 1.用户用例图 用户用例图2.管理员用例图管理员用例图四、 网站的总体设计(一) 系统目标开发网上在线论坛的最终目的是为用户提供一个良好的技术交流平台,得到用户的及时反馈。为了满足客户需求,本系统在设计时应实现以下几个目标。1. 系统界面友好、美好。2. 划分用户级别,将不同的权限划分给不同的用户。3. 合理管理论坛相关信息。4. 易于维护和扩展。(二) 系统功能结构网上在线论坛是一个典型的ASP.NET应用程序。进入论坛的首页后,论坛的注册用户和普通游客间的区别在于随着用户的等级不同,所拥有的功能不同。系统功能结构如图:论坛功能模块回复/浏览帖子发表新帖用户信息回复相应帖子信息浏览帖子详细信息用户注册用户登录添加新帖子信息添加用户信息查询用户信息修改用户信息删除用户信息系统功能结构图(三) 业务流程图论坛系统网上在线论坛的业务流程如图所示:用户注册用户相关信息用户管理发表主题用户登录浏览相关信息浏览管理管理员普通用户发表回复发表相关信息发表管理浏览文章回复相关信息回复管理浏览论坛 网站业务流程图(四) 系统预览1. 网站主页:2. 注册信息页面:3. 登录页面:4. 修改当前用户信息页面:5. 用户信息查询:五、数据库设计(一)数据库概要说明从读者角度出发,为了使读者对本网站数据库中数据表有一个更清晰的认识,在此设计了数据表树形结构图,其中包含了对系统中所有数据表的相关描述。(2) 数据库概念设计通过对网站进行的需求分析、网站流程设计以及系统功能结构的确定,规划出系统中使用的数据库实体对象分别为发帖信息实体、回帖信息实体、头像信息实体以及用户信息实体。发帖信息实体E-R图如图所示: 发帖人 帖子内容 帖子标题 帖子编号 发帖信息 浏览人数 人气 回复时间 创建时间 发帖信息实体E-R图回帖信息实体E-R图如图所示: 回复标题 回复编号 编号 回帖信息 回复时间 回帖人 回复内容 回帖信息实体E-R图头像信息实体E-R图如图所示: 头像信息头像图片头像编号 头像信息实体E-R图用户信息实体E-R图: 用户密码 用户名 编号 头像 电子邮箱 英文姓名 用户信息(3) 数据库逻辑结构设计根据数据库实体E-R图设计数据表结构。tb_Users(用户信息表)。用户信息表主要存储用户的相关信息,如图所示: 用户信息表tb_hf(回帖信息表)。回帖信息表主要存储回复帖子的相关信息,如图所示: 回复信息表tb_Content(发帖信息表)。发帖信息表主要存储发表帖子的相关信息,如图所示: 发帖信息表tb_touxiang(头像信息表)。头像信息表主要存储头像的相关信息,如图所示: 头像信息表(4) 数据库的连接6、 系统的具体实现(1) 主页面主页面中Gridview控件的作用是显示数据和数据库的绑定: protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) if (SessionUserName = null & SessionUserPwd = null) Response.Write(alert(你?没?有瓺权?限T删?除y!?);location=javascript:history.go(-1); else if (SessionUserName.ToString() = hz & SessionUserPwd.ToString() = 168) SqlConnection con = DB.createDB(); con.Open(); string ContId = GridView1.DataKeyse.RowIndex.Value.ToString(); string sql = delete from tb_Content where ContId= + ContId + ; SqlCommand cmd = new SqlCommand(sql, con); cmd.ExecuteNonQuery(); Response.Write(alert(删?除y成功|!?);location=javascript:history.go(-1); con.Close(); (2) 用户登录注册模块设计登录按钮的代码及运行结果为:protected void ImageButton1_Click(object sender, ImageClickEventArgs e) SqlConnection con = DB.createDB(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; con.Open(); cmd.CommandText = select count(*) from tb_Users where UserName= + this.TextBox1.Text + and UserPwd= + this.TextBox2.Text + ; int a = Convert.ToInt32(cmd.ExecuteScalar();/判D断?数簓据Y库a中D是?否?有瓺数簓据Y if (a 0) SessionUserName = this.TextBox1.Text; SessionUserPwd = this.TextBox2.Text; Response.Write(alert(恭喜2你?,?登?录?成功|!?);location=javascript:history.go(-1); else Response.Write(alert(很遗?憾?,?登?录?失骸?败悒?!?);location=javascript:history.go(-1); con.Close(); 注册页面代码及运行结果为: protected void Button1_Click(object sender, EventArgs e) SqlConnection con = DB.createDB(); con.Open(); SqlTransaction st = con.BeginTransaction(); SqlCommand cmd = con.CreateCommand(); cmd.Transaction = st; try cmd.CommandText = insert into tb_Users(UserName,UserPwd,Ename,Email,Logo) values( + this.txtname.Text + , + this.txtpwd.Text + , + this.txtywname.Text + , + this.txtemail.Text + , + this.ddltouxiang.SelectedItem.Text.ToString() + ); cmd.ExecuteNonQuery(); st.Commit(); Response.Write(alert(注痢?册成功|!?);location=javascript:history.go(-1); catch (Exception error) Response.Write(alert(注痢?册失骸?败悒?!?);location=javascript:history.go(-1); st.Rollback(); con.Close(); (3) 帖子相关界面 1.浏览帖子详细信息页面设计 protected void Page_Load(object sender, EventArgs e) if (!Page.IsPostBack) if (SessionUserName = null & SessionUserPwd = null) Response.Redirect(/用?户登?录?/denglu.aspx); else string UserId = RequestUserId; SqlConnection con = DB.createDB(); SqlCommand cmd = new SqlCommand(select * from tb_Users where UserId= + UserId + ,con); con.Open(); SqlDataReader sdr = cmd.ExecuteReader(); if (sdr.Read() this.txtname.Text = sdr.GetString(1); this.txtpwd.Text =sdr.GetString(2); this.txtywname.Text = sdr.GetString(3); this.txtemail.Text = sdr.GetString(4); this.imgtouxiang.ImageUrl = sdr.GetString(5); this.touxiangbind(); con.Close(); public void touxiangbind() SqlConnection con = DB.createDB(); con.Open(); string sqlstr = select * from tb_touxiang; SqlDataAdapter myda = new SqlDataAdapter(sqlstr, con); DataSet myds = new DataSet(); myda.Fill(myds, tb_touxiang); this.ddltouxiang.DataSource = myds.Tablestb_touxiang; this.ddltouxiang.DataTextField = Image; this.ddltouxiang.DataBind(); this.imgtouxiang.ImageUrl = this.ddltouxiang.SelectedValue; con.Close(); 2. 回复帖子页面设计 protected void Button1_Click(object sender, EventArgs e) SqlConnection con = DB.createDB(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; con.Open(); cmd.CommandText = insert into tb_hf(ContId,hfSubject,hfnr,hfname,hftime) values (+this.TextBox3.Text+,+this.TextBox5.Text+,+ this.TextBox6.Text+,+this.TextBox4.Text+,+System.DateTime.Now.ToString()+); cmd.ExecuteNonQuery(); Response.Write(alert(回?帖?成功|!?);location=javascript:history.go(-1); con.Close(); this.aa(); 3. 发表新帖子页面设计protected void Page_Load(object sender, EventArgs e) if (SessionUserName = null & SessionUserPwd = null) Response.Redirect(/用?户登?录?/denglu.aspx); else this.Label1.Text=SessionUserName.ToString(); protected void Button1_Click(object sender, EventArgs e) SqlConnection con = DB.createDB(); con.Open(); string sql = insert into tb_Content(Subject,Words,UserName,CreateTime,LastAnswerTime,HitCount,IsTop,UpperId) values (+this.TextBox1.Text+, +this.TextBox2.Text+,+this.Label1.Text+,+System.DateTime.Now.ToString()+,+System.DateTime.Now.ToString()+,0,0,0); SqlCommand cmd = new SqlCommand(sql,con); cmd.ExecuteNonQuery(); Response.Write(alert(恭喜2你?,?信?息添?加成功|!?);location=javascript:history.go(-1); protected void Button2_Click(object sender, EventArgs e) TextBox1.Text = ; TextBox2.Text = ; (四)用户管理 1.用户信息查询 protected void Button1_Click(object sender, EventArgs e) SqlConnection con = DB.createDB(); string sql = select * from tb_Users where UserId= + this.TextBox1.Text + and UserName= + this.TextBox2.Text + ; SqlCommand cmd = new SqlCommand(sql, con); con.Open(); SqlDataReader sdr = cmd.ExecuteReader(); this.GridView1.DataSource = sdr; GridView1.DataBind(); con.Close(); protected void Button2_Click(object sender, EventArgs e) SqlConnection con = DB.createDB(); string sql = select * from tb_Users; SqlCommand cmd = new SqlCommand(sql, con); con.Open(); SqlDataReader sdr = cmd.ExecuteReader(); this.GridView1.DataSource = sdr; GridView1.DataBind(); con.Close(); 2. 添加用户信息 protected void Button1_Click(object sender, EventArgs e) SqlConnection con = DB.createDB(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; con.Open(); cmd.CommandText = insert into tb_Users(UserName, UserPwd, Ename, Email, Logo) values( + this.txtname.Text + , + this.txtpwd.Text + , + this.txtywname.Text + , + this.txtemail.Text + , + this.ddltouxiang.SelectedItem.Text.ToString() + ); cmd.ExecuteNonQuery(); / Response.Redirect(/tisixinxi/chenggong.aspx); Response.Write(alert(恭喜2你?,?添?加成功|!?);location=javascript:history.go(-1); con.Close(); 3. 当前用户信息修改 protected void Button1_Click(object sender, EventArgs e) string UserName = SessionUserName.ToString(); SqlConnection con = DB.createDB(); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; con.Open()

温馨提示

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

评论

0/150

提交评论