广东海洋大学是几本_广东海洋大学.NET开发技术课程设计论坛

来源:程序员 发布时间:2020-03-24 点击:

  

 《.NET开发技术》课程论文

 BBS论坛

 姓名__________

 班级__

  _

 学号__

  _

 评语:

 成绩________

 BBS论坛

 一. 数据库设计

 BBS论坛是用户交流的主要场所,有利于用户发布信息和回复信息。为了提高论坛的回复内容的显示速度,本例将所有帖子内容保存在XML文件中,数据库中则保存帖子的标题,发帖时间,回复次数等。

 1、 数据库的逻辑设计

 本例需要设计两个表:论坛主题类别表和帖子信息表,设计内容如下:

 表一:表示论坛主题的类别信息

 BBSCategory表结构

 字段名称

 字段类型

 说明

 CategoryID

 int

 类别唯一标识,自增长字段(PK)

 CategoryName

 Nvarchar(50)

 类别名称

 CategoryDes

 Nvarchar(100)

 类别描述

 表二:表示论坛帖子的详细信息

 BBSInfo表结构

 字段名称

 字段类型

 说明

 InfoID

 int

 主题唯一标识,子增长类型(PK)

 Title

 Nvarchar(50)

 帖子主题

 FileName

 Nvarchar(100)

 帖子文件所在的位置

 PostTime

 datetime

 发帖时间

 ReplyCount

 int

 回复次数

 LastReplytime

 datetime

 最后回复时间

 PostUser

 Nvarchar(50)

 发帖人

 CategoryID

 int

 主题所在的类别ID(FK)

 2、 数据表关系

 分类表和主题信息表的关系

 3、 数据连接语句

 <connectionStrings>

 <remove name="LocalSqlServer" />

 <add name="LocalSqlServer" connectionString="Data

  Source=.;Initial Catalog=BBS;Integrated Security=True"

 providerName="System.Data.SqlClient" />

 </connectionStrings>

 二. 网站配置

 Web.config 的配置内容如下所示:

 <configuration>

 <connectionStrings>

 <remove name="LocalSqlServer" />

 <add name="LocalSqlServer" connectionString="Data Source=.;Initial Catalog=BBS;Integrated Security=True"

 providerName="System.Data.SqlClient" />

 <add name="BBSConnectionString" connectionString="Data Source=.;Initial Catalog=BBS;Integrated Security=True"

 providerName="System.Data.SqlClient" />

 <add name="BBSConnectionString2" connectionString="Data Source=.;Initial Catalog=BBS;Integrated Security=True"

 providerName="System.Data.SqlClient" />

 </connectionStrings>

 <system.web>

 <compilation debug="false" targetFramework="4.0" />

 </system.web>

 </configuration>

 三. 模块设计

 1、 公共访问类:从三层架构的角度,分析各公共类。

 本例主要包含两个类,一个是数据库访问类“SqlHelper.cs”,一个BBS论坛管理类“BBSManager.cs”,其中BBSManager包含的功能如下所示:

 ① 添加论坛类别

 public bool AddBBSCategory(string name,string des )

 ② 将发帖内容保存到XML文件中

  public void AddXML(string filename,string title,string content,string user)

 ③ 添加一条记录到表bbsinfo中

 public void AddMsg(string title,string user,int categoryid)

 ④ 创建或获取缓存参数的私有方法

 private static SqlParameter[] GetParameters()

 ⑤ 更新数据库中的回复时间

 public bool UpdateMsg(int infoid)

 ⑥ 给新建的xml文件起名

 private int getFilename()

 ⑦ 更新回复内容

  public void UpdateXml(string filename,string title,string content,string user)

 2、 功能模块的详细设计:说明各功能模块实现的功能,采用的重点技术及主要代码。

 ① 论坛类别主页面 

 ② 论坛类别添加页面 

 主要实现的代码:

 protected void Button1_Click(object sender, EventArgs e)

 {

 BBSManager mybbs = new BBSManager();

 bool result = mybbs.AddBBSCategory(TextBox1.Text, TextBox2.Text);

 if (result)

 Literal1.Text = 论坛类别添加成功!请刷新!";

 }

 ③ 论坛类别修改删除页面 

 主要实现的代码:

 DeleteCommand="DELETE FROM [BBSCategory] WHERE [CategoryID] =

  @CategoryID"

  InsertCommand="INSERT INTO [BBSCategory] ([CategoryName], [CategoryDes])

 VALUES (@CategoryName, @CategoryDes)"

  SelectCommand="SELECT * FROM [BBSCategory]"

  UpdateCommand="UPDATE [BBSCategory] SET [CategoryName] = @CategoryName,

 [CategoryDes] = @CategoryDes WHERE [CategoryID] = @CategoryID">

 ④ 帖子列表显示页面

 ⑤ 论坛发帖页面

 主要实现的代码:

 protected void Button1_Click(object sender, EventArgs e)

 {

 BBSManager mybbs = new BBSManager();

 string username = HttpContext.Current.User.Identity.Name;

 mybbs.AddMsg(TextBox1.Text, username, int.Parse(Request.QueryString["categoryid"]));

 mybbs.AddXML(Server.MapPath(".") + @"\content.xml", TextBox1.Text, TextBox2.Text, username);

 Literal1.Text = "帖子发布成功!";

 }

 ⑥ 帖子详细内容

 ⑦ 论坛回帖页面

 主要实现的代码:

 protected void Button1_Click(object sender, EventArgs e)

 {

  BBSManager mybbs = new BBSManager();

 string filename = Server.MapPath(".") + @"\" + Request.QueryString["infoid"] + "file.xml";

 mybbs.UpdateXml(filename, TextBox1.Text, TextBox2.Text, HttpContext.Current.User.Identity.Name);

 mybbs.UpdateMsg(int.Parse(Request.QueryString["infoid"]));

 Literal1.Text = "更新成功!";

 Response.Redirect("contentlist.aspx?filename=" + Request.QueryString["infoid"]);

 }

 3、 模块之间的调用关系,参数传递的关键代码。

 论坛的帖子功能实现流程

 参数传递的关键代码:

 ① 发帖时获取前台选择时传递来的CategoryID值

 <a href="/BBS/MsgList.aspx?categoryid=<%#Eval("categoryid") %>" style="text-decoration:none"><%#Eval("categoryname") %></a>

 protected void Button1_Click(object sender, EventArgs e)

 {

 string str = Request.QueryString["categoryid"];

 Response.Redirect("/BBS/sendMsg.aspx?categoryid="+str);

 }

 ② 选择具体一个帖子时,获取帖子的文件名

  protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)

 {

 GridViewRow row = GridView1.SelectedRow;

 Response.Redirect("ContentList.aspx?filename=" + row.Cells[7].Text);

 }

 protected void Page_Load(object sender, EventArgs e)

 {

 XmlDataSource1.DataFile = Request.QueryString["filename"] + "file.xml";

 }

 ③ 回帖时,获取当前帖子的InfoID值

 <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="回复主题" />

  protected void Button1_Click(object sender, EventArgs e)

 {

 Response.Redirect("/BBS/BackMsg.aspx?infoid=" + Request.QueryString["filename"]);

 }

 四. 小结

 经过两个星期的不懈努力,《.NET开发技术》课程设计终于落幕。我这次的课程设计的题目是《BBS论坛》,在整个设计过程中,自己从刚开始什么都都不懂,到后来上网找相关资料自学,期间遇到的问题、错误多不甚数,然经过无数次的调试分析,最终一一得以圆满解决。

 在这一个星期里,自己可谓是感慨万分。的确,从理论到实践,在整整一个星期的日子里,可以说得是苦多于甜,但是自己却能够在这短短的一个星期里学到很多很多的的东西,不仅可以巩固了以前所学过的知识,加深了对课本知识点的理解。而且学到了很多在书本上所没有学到过的知识,能够说是收获颇丰。

  通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从实践中验证理论,从而提高自己的实际动手能力和独立思考的能力。当然,在设计的过程中遇到许许多多的问题,可以说得是困难重重,毕竟这是一次课程设计,需要掌握的知识面比较广,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后, 一定把以前所学过的知识重新温故。在设计中,VS2010使用的也更加的牢固,了解的也更加深刻。

  这次课程设计已经结束了,对于我自己,对本次课程设计我的感受很深,在这个过程中,我也曾经因为实践经验的缺乏失落过,也为毫无头绪而烦恼,也曾经为调试的成功实现而手舞足蹈。呵呵,让自己在本次课程设计中感受了一番大起大落,使自己从中明白了,做成功一件事,是需要付出和汗水的。天下无难事只怕有心人,只要自己坚定信念,成功也只在咫尺之间。当然,我们也不能满足于现有的水准,否则就会停滞不前,要知道学海无涯,仍需我们努力学习。所以,在以后的时间里,我会利用更多时间去上机实验,加强自学的能力,多编写程序,相信不久后我的编程能力会有所提高能设计出更多的更有创新的作品!

推荐访问:广东 课程设计 海洋大学
上一篇:对员工手册的认识_GE员工手册
下一篇:商企项目组优秀案例 优化营商环境典型案例范文

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有