留言簿管理系统设计报告.docx

上传人:b****8 文档编号:12532615 上传时间:2023-06-06 格式:DOCX 页数:17 大小:75.57KB
下载 相关 举报
留言簿管理系统设计报告.docx_第1页
第1页 / 共17页
留言簿管理系统设计报告.docx_第2页
第2页 / 共17页
留言簿管理系统设计报告.docx_第3页
第3页 / 共17页
留言簿管理系统设计报告.docx_第4页
第4页 / 共17页
留言簿管理系统设计报告.docx_第5页
第5页 / 共17页
留言簿管理系统设计报告.docx_第6页
第6页 / 共17页
留言簿管理系统设计报告.docx_第7页
第7页 / 共17页
留言簿管理系统设计报告.docx_第8页
第8页 / 共17页
留言簿管理系统设计报告.docx_第9页
第9页 / 共17页
留言簿管理系统设计报告.docx_第10页
第10页 / 共17页
留言簿管理系统设计报告.docx_第11页
第11页 / 共17页
留言簿管理系统设计报告.docx_第12页
第12页 / 共17页
留言簿管理系统设计报告.docx_第13页
第13页 / 共17页
留言簿管理系统设计报告.docx_第14页
第14页 / 共17页
留言簿管理系统设计报告.docx_第15页
第15页 / 共17页
留言簿管理系统设计报告.docx_第16页
第16页 / 共17页
留言簿管理系统设计报告.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

留言簿管理系统设计报告.docx

《留言簿管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《留言簿管理系统设计报告.docx(17页珍藏版)》请在冰点文库上搜索。

留言簿管理系统设计报告.docx

留言簿管理系统设计报告

学号

姓名

答辩成绩(70%)

文档成绩(30%)

综合成绩

 

网络程序开发课程设计报告

留言簿管理系统

 

学院(系):

计算机科学与工程学院

专业:

网络工程

指导老师:

傅由甲

学生姓名:

王悦学号:

11203090228

时间:

从2015年1月5日到2015年1月9日

目录

1总体设计3

1.1需求分析3

1.2模块设计3

2系统分析4

2.1留言板管理系统前端的主要功能4

3详细设计6

3.1数据库设计7

3.1.1数据库连接详细设计:

7

3.2.后台及页面设计9

4心得体会20

摘要

随着互联网的迅猛发展,电子商务也快速发展。

在电子商务时代,网络留言系统已经成为人们生活中不可或缺的一部分,不仅给人们带来了乐趣,同时3为生活带来了方便。

本系统采用.net作为开发平台,用VS2010作为开发工具,网页设计采用div+css结构,SQLServer2008作为数据库管理系统,完成了一个B/S模式的留言管理系统。

本系统的设计完成了管理员后台管理,包括发布留言,回复留言,查看留言等,并能得到管理员回复。

用户还可以注册成网站会员.

随着网络热潮的发展,一些公司正在积极建立自己的网站,一些大学也已经开设了网络相关的专业及课程。

同时网站的重要性也越来越重要。

而作为网站中交流的中心,留言板起到了至关重要的地位。

它有助于版主收集网站的反馈信息,也是客户通过网络收集信息的有力工具。

留言板在一个网站具有很重要的地位,随着上网的普及,留言板已经不是什么新鲜事物了。

本留言板更注重安全和与网站融合,但也有自己独特之处。

关键词:

留言板,VS2010,ASP

 

1总体设计

1.1需求分析

随着网络热潮的发展,各种各样的网站正成倍的迅速增长,面对各种网站,论坛的发展,人们开始更多的在网上交流。

这就需要一个发表留言的系统——留言板。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的发表言论。

由于计算机和网络的普及,若建立一个留言板系统,人们便可以通过网络的登陆成为会员,取得发表言论上午资格,也使得留言板管理工作系统化,规范化,自动化。

1.2模块设计

留言板系统的基本功能包括用户信息的录入、查询、修改和删除。

用户留言及头像的前台显示功能。

其中还包括管理员的登录信息。

整体功能设计图如下所示:

 

2系统分析

2.1留言板管理系统前端的主要功能

(1)注册。

(2)登录。

(3)回复。

(4)查看所有发帖以及回复信息。

2.2留言板管理系统后台管理的主要功能

(1)管理员登陆。

(2)管理员修改用户发帖或回复的信息。

(3)管理员删除用户发帖或回复的信息。

2.3留言板管理系统性能要求

(1)页面响应速度快。

(2)页面美观整洁。

 

3详细设计

3.1数据库设计

3.1.1数据库分析

用户需求具体管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。

3.1.2数据库连接详细设计:

publicclassConnectDB

{

privatestaticStringconnectString=ConfigurationManager.ConnectionStrings["connectString"].ConnectionString;

publicstaticSqlConnectionConnect()

{

SqlConnectioncon=newSqlConnection(connectString);

returncon;

}

}

publicclassClass228

{

publicintAddnew(stringName,stringpassword)

{

SqlConnectioncon=ConnectDB.Connect();

stringsql=String.Format("insertintodbo.Table_uservalues('{0}','{1}')",Name,password);

SqlCommandcmd=newSqlCommand(sql,con);

con.Open();

intnum=cmd.ExecuteNonQuery();

con.Close();

returnnum;

}

publicintAddly(stringName,stringcontent)

{

SqlConnectioncon=ConnectDB.Connect();

stringsql=String.Format("insertintodbo.Table_LY(USERID,LYCONTENT)values('{0}','{1}')",Name,content);

SqlCommandcmd=newSqlCommand(sql,con);

con.Open();

intnum=cmd.ExecuteNonQuery();

con.Close();

returnnum;

}

publicintEditly(stringa,stringb)

{

SqlConnectioncon=ConnectDB.Connect();

stringsql=String.Format("updatedbo.Table_LYsetLYCONTENT='{0}'whereUSERID='{1}'",a,b);

SqlCommandcmd=newSqlCommand(sql,con);

con.Open();

intnum=cmd.ExecuteNonQuery();

con.Close();

returnnum;

 

}

publicintAddreply(stringid2,stringcontent,stringid1)

{

SqlConnectioncon=ConnectDB.Connect();

stringsql=String.Format("updatedbo.Table_LYsetREPLYID='{0}',RPCONTENT='{1}'whereUSERID='{2}'",id2,content,id1);

SqlCommandcmd=newSqlCommand(sql,con);

con.Open();

intnum=cmd.ExecuteNonQuery();

con.Close();

returnnum;

}

publicboolFindnew(Stringa)

{

SqlConnectioncon=ConnectDB.Connect();

stringsql=String.Format("select*fromdbo.Table_userwhereUsername='{0}'",a);

SqlCommandcmd=newSqlCommand(sql,con);

SqlDataAdapterads=newSqlDataAdapter(cmd);

DataSetds=newDataSet();

DataTabledt=newDataTable();

ads.Fill(dt);

if(dt!

=null)returntrue;

elsereturnfalse;

}

publicintDeletely(Stringa)

{

SqlConnectioncon=ConnectDB.Connect();

stringsql=String.Format("deletefromdbo.Table_LYwhereUSERID='{0}'",a);

SqlCommandcmd=newSqlCommand(sql,con);

con.Open();

intnum=cmd.ExecuteNonQuery();

con.Close();

returnnum;

}

}

 

3.2前端页面设计

用户浏览主页面,将会进行选择会员登录、匿名登录、会员注册的选项,不同的选择会跳转到不同的页面。

同时首页为会员登录选项页面,可以选择管理员登录和会员登录。

代码如下:

publicpartialclass_Default:

System.Web.UI.Page

{

protectedvoidPage_Load(objectsender,EventArgse)

{

}

protectedvoidbtnAdmin_Click(objectsender,EventArgse)

{

Response.Redirect("~/youke/Alogin.aspx");

}

protectedvoidbtnMember_Click(objectsender,EventArgse)

{

Response.Redirect("~/youke/Login228.aspx");

}

}

ContentID="HeaderContent"runat="server"ContentPlaceHolderID="HeadContent">

Content>

ContentID="BodyContent"runat="server"ContentPlaceHolderID="MainContent">

ButtonID="btnAdmin"runat="server"Text="管¨¹理¤¨ª员¡À登Ì?

录?

"

onclick="btnAdmin_Click"/>

 

ButtonID="btnMember"runat="server"Text="会¨¢员¡À登Ì?

录?

"

onclick="btnMember_Click"/>

母板页代码如下:

#00FF00">

#00FF00"align="center">

欢?

迎®-光a临¢¨´留¢?

言?

簿?

管¨¹理¤¨ª系¦Ì统ª3

#00FF00">

MenuID="NavigationMenu"runat="server"CssClass="menu"

EnableViewState="false"IncludeStyleBlock="false"Orientation="Vertical"

BackColor="Yellow">

MenuItemNavigateUrl="~/Default.aspx"Text="会¨¢员¡À登Ì?

录?

"/>

MenuItemNavigateUrl="~/youke/youke228.aspx"Text="匿?

名?

登Ì?

录?

"/>

MenuItemNavigateUrl="~/youke/register228.aspx"Text="注Á¡é册¨¢会¨¢员¡À"/>

Menu>

ContentPlaceHolderID="MainContent"runat="server"/>

注册部分:

 

注册部分代码:

publicpartialclassregister228:

System.Web.UI.Page

{

protectedvoidPage_Load(objectsender,EventArgse)

{

Label3.Text="";

}

protectedvoidButton1_Click(objectsender,EventArgse)

{

if(TextBox2.Text==TextBox3.Text)

{

Class228zc=newClass228();

zc.Addnew(TextBox1.Text,TextBox2.Text);

Label3.Text="注Á¡é册¨¢成¨¦功|";

TextBox2.Text="";

TextBox3.Text="";

TextBox1.Text="";

}

else

{

Label3.Text="您¨²输º?

入¨?

有®D误¨®";

TextBox2.Text="";

TextBox3.Text="";

TextBox1.Text="";

}

}

}

 

登录部分:

登录部分代码:

publicpartialclassAlogin:

System.Web.UI.Page

{

protectedvoidPage_Load(objectsender,EventArgse)

{

Label3.Text="";

}

protectedvoidButton1_Click(objectsender,EventArgse)

{

Stringuserid="";

if(((String)Session["code"])!

=TextBox3.Text)

Label3.Text="输º?

入¨?

有®D误¨®请?

重?

输º?

";

elseif(TextBox1.Text=="admin"&&TextBox2.Text=="123")

{

Session["admin"]=userid;

Response.Redirect("~/manager/manager228.aspx");

}

else

{

Label3.Text="输º?

入¨?

有®D误¨®请?

重?

输º?

";

}

}

}

验证码部分:

publicpartialclassCheckcode:

System.Web.UI.Page

{

protectedvoidPage_Load(objectsender,EventArgse)

{

Stringcode=CreateRandomCode(4);

Session["code"]=code;

CreateImage(code);

}

privatestringCreateRandomCode(intcodeCount)

{

stringallChar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,X,Y,Z";

string[]allCharArray=allChar.Split(',');

stringrandomCode="";

Randomrand=newRandom((int)DateTime.Now.Ticks);

for(inti=0;i

{

intt=rand.Next(35);

randomCode+=allCharArray[t];

}

returnrandomCode;

}

privatevoidCreateImage(stringcheckCode)

{

intiwidth=(int)(checkCode.Length*11.5);

Bitmapbitmap=newBitmap(iwidth,20);

Graphicsg=Graphics.FromImage(bitmap);

Fontf=newSystem.Drawing.Font("Arial",10,System.Drawing.FontStyle.Bold);

Brushb=newSystem.Drawing.SolidBrush(Color.White);

g.FillRectangle(newSystem.Drawing.SolidBrush(Color.Blue),0,0,bitmap.Width,bitmap.Height);

g.DrawString(checkCode,f,b,2,2);

bitmap.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Gif);

g.Dispose();

bitmap.Dispose();

}

 

回复部分代码:

publicpartialclasshuiyuan228:

System.Web.UI.Page

{

protectedvoidPage_Load(objectsender,EventArgse)

{

Label2.Text=((String)Session["Username"]);

Label5.Text=Label2.Text;

}

protectedvoidButton1_Click(objectsender,EventArgse)

{

Class228jg=newClass228();

jg.Addreply(Label2.Text,TextBox3.Text,TextBox1.Text.Trim());

Label6.Text="回?

复¡ä成¨¦功|";

TextBox1.Text="";

TextBox3.Text="";

Response.Redirect("~/huiyuan228/huiyuan228.aspx");

}

protectedvoidButton2_Click(objectsender,EventArgse)

{

Response.Redirect("~/youke/Login228.aspx");

}

protectedvoidButton3_Click(objectsender,EventArgse)

{

try

{

Class228dl=newClass228();

dl.Deletely(Label2.Text);

Label6.Text="删¦?

除y成¨¦功|";

Response.Redirect("~/huiyuan228/huiyuan228.aspx");

}

catch

{Label6.Text="当Ì¡À前¡ã没?

有®D留¢?

言?

";}

}

protectedvoidButton4_Click(objectsender,EventArgse)

{

Class228ly=newClass228();

try

{

ly.Addly(Label5.Text,TextBox2.Text);

Label6.Text="留¢?

言?

成¨¦功|";

TextBox2.Text="";

Response.Redirect("~/huiyuan228/huiyuan228.aspx");

}

catch

{

Label6.Text="不?

能¨¹添¬¨ª加¨®相¨¤同ª?

留¢?

言?

或¨°请?

先¨¨删¦?

除y您¨²的Ì?

留¢?

言?

";

TextBox2.Text="";

}

}

4.心得体会

又一次上了傅老师的课,感觉傅老师从大一一直陪伴着我们到了大四,我想,大四这么一个重要的环节傅老师肯定会一如既往的陪着我们把哈哈。

这门课我学习了关于和数据库的知识,以前的C#为我们打了一些基础,但是通过学习我感觉到任何一门课都是需要我们利用更多的课余时间来学习的,课堂只有那么一点点时间,绝对是不够的。

虽然最后因为其他的实习没能赶上最后的答辩让人挺遗憾的,但是书山有路勤为径,学海无涯苦作舟,学习不仅仅是局限在某一个环节,实习也是一种学习,更要好好学习!

最后,还是想由衷的感谢傅老师的谆谆教导,感谢老师的无私付出才有我们的成长.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2