1、武汉软件工程职业学院课程设计报告2016-2017 学年度第 二 学期题目: 简易留言板设计 姓名: 肖志超 班级: 网络 1502 系部: 计算机学院 指导教师: 梁晓雅 日期:2017 年 6 月 13 日摘要 在网络网络技术迅速发展以信息交流频繁的今天,网络应用已经渗透到人类社会的各个角落。作为网络世界的支撑点的网站,更是人们关注的热点:政府利用网站宣传自己的施政纲领,日益成为与百姓交流的直通车;企业利用网站宣传自己的形象,进而挖掘无限商机;个人利用网站展示个性风采,创建彼此沟通的桥梁。越来越多的网站建立了自己的WWW 网站。随着网络技术的不断发展,网络应用已经渗透到人类社会的各个角落。
2、作为网络世界的支撑点的网站,更是人们关注的热点:政府利用网站宣传自己的施政纲领,日益成为与百姓交流的直通车;企业利用网站宣传自己的形象,进而挖掘无限商机;个人利用网站展示个性风采,创建彼此沟通的桥梁。越来越多的企业和个人希望拥有自己的网站,开辟网络世界里的一片天地。BBS 系统是最常见的一类网上社区,是 Internet 上最重要的应用之一。随着 Internet 的普及,许多原本只提供 Telnet 方式登录的 BBS 系统也提供了允许用户使用 HTTP 协议方式进行网上交流的功能,Telnet 与 HTTP 的应用界限开始交融。当用户在网上冲浪访问到一个制作精美、内容丰富的网站时,会想到将
3、自己的喜爱之情告诉网站的制作人。同样,当用户看到一个不能令人满意的网站时,也会想到将自己的高见留给网站的维护者,希望他们能有所改进。这时就要用到互动式网络一个重要的功能留言板系统。留言板是网站上用户交流信息、相互沟通的乐园。留言板是一种最为简单的 BBS 应用。借助留言板,浏览者可以张贴留言给站长或其他浏览者。在企业或单位内部的局域网中,留言板提供了员工之间交流的绝好的场所。留言板可以说是网上最常见的,网站留言管理方式是基于 ASP.NET 和脚本语言,将动态网页和数据库结合,通过应用程序来处理留言。关键词 ASP.NET, Sqlconnection,connsql,sqldataadapt
4、er目 录一、综述二、系统设计2.1 系统流程2.2 系统结构2.3 数据库逻辑结构设计三、数据库设计3.1 SQL Sever 2008 简介3.2userinfo 表结构四、开发实现4.1 用户登录4.2 注册新用户4.3 找回遗忘的密码4.4 修改用户信息五、总结一、综述多数 ASP.NET 应用程序中都包含有一个用户管理模块,网站管理员或用户可以通过改模块实现用户登录(身份验证) ,注册新用户,浏览用户,修改密码,找回遗忘的密码,改变用户级别或删除用户等操作。蹦设计将使用 datdset 对象和 dataadapter 对象相配合设计一个通用的网站用户管理模块。二、系统设计 2.1 系
5、统流程后台管理系统业务流程图前台业务流程图2.2 系统结构2.3 数据库逻辑结构设计三、数据库设计3.1 SQL Sever 2008 简介SQL Sever 是一种高性能的关系数据库系统(RDBMS),其主要特点有: 与 Windows 9x 和 Windows NT 集成提供企业级的数据库复制提供并行的体系结构支持超大型数据库与 OLE 对象紧密集成对客户/服务器用户的一个主要挑战就是中央管理跨整个企业范围内的对个服务器。SQL Sever 用一个称为分布式管理框架(DMF)的企业级系统管理框架来实现。 DMF 有对象、服务器和用户管理 Miccrosoft SQL Sever 的其他组件
6、组成。SQL Sever Enterprise Manage 位安排和管理多喝服务器提供了一个图形化用户界面(GUI) ,Sever 提供的分布式管理对象(DMO)的能力给 SQL Sever 引擎和服务器提供可一个对行啊接口。该层包括用户接口组件使用的OLE SQL Sever 对象及任何遵循 OLE Sever 引擎和服务的途径。该层包含数据库引擎的后端,并提供有 SQL Executive 所管理的核心管理服务。3.2userinfo 表结构四、开发实现4.1.用户登录程序运行后显示如图所示的界面,输入用户名和密码后单击登录链接按钮,即可进入主页面核心代码如下static string
7、Coonstr = System.Configuration.ConfigurationManager.ConnectionStrings“coonstring“.ToString();SqlConnection conn = new SqlConnection(Coonstr);protected void Page_Load(object sender, EventArgs e)protected void LinkButton2_Click(object sender, EventArgs e)Response.Redirect(“zuce.aspx“);protected void L
8、inkButton3_Click(object sender, EventArgs e)Session“zhmm“ = TextBox1.Text.Trim();Response.Redirect(“zhmm.aspx“);protected void LinkButton4_Click(object sender, EventArgs e)string yh = “select count(*) from userinfo where uname=“ + TextBox1.Text.Trim() + “and upwd=“ + FormsAuthentication.HashPassword
9、ForStoringInConfigFile(TextBox2.Text.Trim(), “MD5“) + “ “;conn.Open();SqlCommand cmd = new SqlCommand(yh, conn);if (int)cmd.ExecuteScalar() 0)string yhx = “admin“;string yhxx = “select count(*) from userinfo where uname=“ + TextBox1.Text.Trim() + “and upwd=“ + FormsAuthentication.HashPasswordForStor
10、ingInConfigFile(TextBox2.Text.Trim(), “MD5“) + “and ulevel=“ + yhx + “;SqlCommand cmd1 = new SqlCommand(yhxx, conn);if (int)cmd1.ExecuteScalar() 0) Session“sf“ = “admin“;Session“s“ = TextBox1.Text.Trim();else Session“sf“ = TextBox1.Text.Trim(); ; Response.Redirect(“xgxx.aspx“);else Response.Write(“a
11、lert(用户名或密码错误)“); protected void LinkButton1_Click(object sender, EventArgs e)string yh = “select count(*) from userinfo where uname=“ + TextBox1.Text.Trim() + “and upwd=“ +FormsAuthentication.HashPasswordForStoringInConfigFile( TextBox2.Text.Trim(),“MD5“) + “ “;conn.Open();SqlCommand cmd = new SqlC
12、ommand(yh, conn);if (int)cmd.ExecuteScalar() 0)Session“uname“ = TextBox1.Text;Response.Redirect(“ly.aspx“);else Response.Write(“alert(用户名或密码错误)“); 4.2.新用户注册在登录页面点击注册即可进入新用户注册页面核心代码如下static string Coonstr = System.Configuration.ConfigurationManager.ConnectionStrings“coonstring“.ToString();SqlConnecti
13、on conn = new SqlConnection(Coonstr);static int i = 1;protected void Page_Load(object sender, EventArgs e)protected void LinkButton2_Click(object sender, EventArgs e)Response.Redirect(“Default.aspx“);protected void LinkButton3_Click(object sender, EventArgs e)string xyh = “select count(*) from useri
14、nfo where uname=“ + TextBox1.Text.Trim() + “;conn.Open();SqlCommand cmd = new SqlCommand(xyh, conn);if (int)cmd.ExecuteScalar() 0)Label1.Text = “用户名重复“;else Label1.Text = “可以使用的用户名“; int i = 0; protected void LinkButton1_Click(object sender, EventArgs e)conn.Open();if (i != 0)string ss = “user“;/str
15、ing cyh = “insert into userinfo values(“ + TextBox1.Text + “,“ + TextBox2.Text + “,“ + TextBox4.Text + “,“ + ss + “ + DropDownList1.SelectedValue.ToString() + “,“ + FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox5.Text, “MD5“) + “)“;string cyh = “insert into userinfo(uname,upwd,uemail
16、,ulevel,uquestion,uanswer) values(“ + TextBox1.Text + “,“ + FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text, “MD5“) + “,“ + TextBox4.Text + “,“ + ss + “,“ + DropDownList1.SelectedValue.ToString() + “,“ + FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox5.Text, “MD5“
17、) + “)“;SqlCommand cmd = new SqlCommand(cyh, conn);int num = cmd.ExecuteNonQuery();if (num 0) Response.Write(“alert(用户注册成功)“); else Response.Write(“alert(用户注册失败)“); else Response.Write(“alert(请检查用户名)“); 4.3 找回遗忘的密码在用户登录界面中输入用户名,单击“忘记密码”链接按钮打开如图所示的界面,程序根据用户输入的用户名,在页面中显示注册时填写的安全问题,若用户能正确回答安全问题答案,即可重置密
18、码核心代码如下public partial class zhmm : System.Web.UI.Pagestatic string Coonstr = System.Configuration.ConfigurationManager.ConnectionStrings“coonstring“.ToString();SqlConnection conn = new SqlConnection(Coonstr);protected void Page_Load(object sender, EventArgs e)if (!IsPostBack) Label1.Text = Convert.T
19、oString(Session“zhmm“);if(Label1.Text=“) Response.Redirect(“Default.aspx“); DropDownList1.Items.Clear();conn.Open();this.DropDownList1.Items.Add(“);string mm = “select uquestion from userinfo where uname=“+Session“zhmm“+“;SqlCommand sql = new SqlCommand(mm, conn);SqlDataReader dr = sql.ExecuteReader
20、();while (dr.Read()this.DropDownList1.Items.Add(dr“uquestion“.ToString();protected void LinkButton1_Click(object sender, EventArgs e)string m = “select count(*) from userinfo where uname=“ + Session“zhmm“ + “and uanswer=“ + FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox1.Text.Trim(),
21、 “MD5“) + “and uquestion=“ +DropDownList1.SelectedValue.ToString() + “;conn.Open();SqlCommand cmd = new SqlCommand(m, conn);if (int)cmd.ExecuteScalar() 0)Response.Write(“alert(找回成功)“);else Response.Write(“alert(用户名错误或者答案错误)“); protected void LinkButton2_Click(object sender, EventArgs e)Response.Redi
22、rect(“Default.aspx“);4.4.修改用户信息在用户登录页面中输入用户名和密码,单击“修改用户信息”链接按钮讲打开用户管理页面。管理员用户可以使用页面中的所有功能,而普通用户只能修改自己的密码,电子邮箱等信息。核心代码如下public partial class xgxx : System.Web.UI.Pagestatic string Coonstr = System.Configuration.ConfigurationManager.ConnectionStrings“coonstring“.ToString();SqlConnection conn = new Sql
23、Connection(Coonstr);protected void Page_Load(object sender, EventArgs e)if (!IsPostBack)if (string)Session“sf“ = “admin“) string dr = “select uname ,uemail,ulevel from userinfo where ulevel=user“;DropDownList1.Items.Clear();conn.Open();DropDownList1.Items.Add(Session“sf“.ToString();DropDownList2.Ite
24、ms.Add(“admin“);SqlCommand sql = new SqlCommand(dr, conn);SqlDataReader dr1 = sql.ExecuteReader();while (dr1.Read()this.DropDownList1.Items.Add(dr1“uname“.ToString();conn.Close();string drq = “select uname ,uemail,ulevel from userinfo where ulevel=“ + Session“s“ + “;conn.Open();SqlCommand sq1l = new
25、 SqlCommand(drq, conn);SqlDataReader dr11 = sq1l.ExecuteReader();while (dr11.Read()TextBox3.Text = dr11“uemail“.ToString();elseDropDownList1.Items.Add(Session“sf“.ToString();DropDownList1.Enabled = false;DropDownList2.Items.Add(“user“);LinkButton2.Enabled = false; protected void LinkButton1_Click(ob
26、ject sender, EventArgs e)conn.Open();string cz = “update userinfo set upwd=“ +FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text.Trim(),“MD5“) + “,uemail=“+TextBox3.Text.Trim()+“ where uname=“ + Session“sf“ + “;SqlCommand cmd = new SqlCommand(cz, conn);if (int)cmd.ExecuteNonQuery()
27、 0)Response.Write(“alert(用户信息修改成功)“); protected void LinkButton3_Click(object sender, EventArgs e)Response.Redirect(“Default.aspx“);protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)TextBox3.Text = “;string yx = “select uemail,ulevel from userinfo where uname=“+DropDownLis
28、t1.SelectedValue.ToString()+“;conn.Open();DropDownList2.Items.Clear();SqlCommand sql = new SqlCommand(yx, conn);SqlDataReader dr1 = sql.ExecuteReader();while (dr1.Read()TextBox3.Text = dr1“uemail“.ToString(); DropDownList2.Items.Add(dr1“ulevel“.ToString();五、总结做课设让我对 ASP.NET 有了新的认识,首先我接触了很多上课见过见过但没有实
29、际用过的类和方法,让我对编程有了许多新的思想。虽然系统的基本功能都已实现,但还是存在系统不稳定等多个问题尚待解决。这个系统主要是我自己开发的,但也得到了老师和同学的很大帮助。我正在做系统的过程中遇到了很多问题,有的是知识存储不足,有的是考虑不够周全,之所以能够顺利实现基本功功能,离不开老师和同学的大力相助。事实证明,只靠自己是不能顺利完成一套功能完整的系统的,必须充分利用团队的力量。开发一套系统,最重要的是细心,并不是一定要做到面面俱到,但也要充分考虑到客户的需求和现实意义,不管什么系统,只用运用到实际应用中,才具有先现实意义。所以在准备工作中要正确分析社会需求了解现实应用,画出流程图,把大体
30、框架做好,然后再逐一细化。我们不可能做到面面俱到,但一定要做到步步扎实,作为一个程序编程人员,要保持清醒的头脑,以现实为依据,让自己的每一行代码都能实现自己的意义。通过这次课程设计,我收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。 。这次课程设计本人主要参与了系统实现以及系统测试,还有参与小组共同完成的编写代码、实现功能模块。历时两个星期终于在大家的一起努力下顺利完成了。虽然过程辛苦是不可避免,但收获还是令人感到尤其的欣慰。在这次的课程设计中不仅检验了我所学习的知识,也培养了我的实践能力,让我知道遇到一个问题,如何去寻找思路,如何去解决问题,最终完成整个事
31、情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程。实验过程中,也十分感谢实验指导老师马骏老师的指点与教导。这次课程设计不仅是对这学期所学知识的一种综合检验,而且也是对自己动手能力的一种提高,增强了自己实践能力。通过这次课程设计使我明白了自己知识还比较欠缺,只是学习书本知识还是远远不够的,自己不会的东西还有太多,学习需要自己长期的积累,在以后的学习、工作中都应该不断的学习,将课本的理论知识与生活中的实践知识相结合,不断提高自己
32、文化知识和实践能力.参考文献常永英,ASP.NET 程序设计教程(C#3)M.北京:机械工业出版社,2007.常永英,ASP.NET 程序设计教程(C#3)M.上机指导与习题解答。北京:机械工业出版社,2007.崔淼.VisualC#2005 程序设计教程 M。北京:机械工业出版社,2007.张亚习.精通 ASP.NET3.5 网络开发技术M. 北京:电子工业出版社,2009.Stephen Walther.ASP.NET3.5 揭秘(卷 1)M.北京:人民邮电出版社,2009.Stephen Walther.ASP.NET3.5 揭秘(卷 2)M.北京:人民邮电出版社,2009.刘瑞新.Visual Basic 。NET 程序设计教程 M.北京:机械工业出版社, 2005.