收藏 分销(赏)

数据库课程设计留言板系统.doc

上传人:w****g 文档编号:2244598 上传时间:2024-05-23 格式:DOC 页数:20 大小:905.04KB
下载 相关 举报
数据库课程设计留言板系统.doc_第1页
第1页 / 共20页
数据库课程设计留言板系统.doc_第2页
第2页 / 共20页
数据库课程设计留言板系统.doc_第3页
第3页 / 共20页
数据库课程设计留言板系统.doc_第4页
第4页 / 共20页
数据库课程设计留言板系统.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、江 西 理 工 大 学数 据 库 课 程 设 计 报 告题 目:留言板信息系统学 院:信息工程学院专 业:网络工程班 级:112学 生:王永宁学 号:1520113293指导教师:涂燕琼、南柄飞 目 录第一章 总体设计1。1需求分析1。2模块设计第二章 系统分析2。1留言板管理系统前端的主要功能 2。2留言板管理系统后台管理的主要功能 2。3留言板管理系统性能要求第三章 详细设计 3.1。数据库分析 3。2。ER图 3。3。管理员表 3.4。用户信息表 3.5。留言信息表 3.6.数据库快照及字段说明 3.7.数据库连接详细设计第四章 前端页面设计第一章 总体设计1。1需求分析随着网络热潮的发

2、展,各种各样的网站正成倍的迅速增长,面对各种网站,论坛的发展,人们开始更多的在网上交流.这就需要一个发表留言的系统留言板。通过这样的系统,可以做到信息的规范管理、科学统计和快速的发表言论。由于计算机和网络的普及,若建立一个留言板系统,人们便可以通过网络的登陆成为会员,取得发表言论上午资格,也使得留言板管理工作系统化,规范化,自动化。1。2模块设计留言板系统的基本功能包括用户信息的录入、查询、修改和删除。用户留言及头像的前台显示功能。其中还包括管理员的登录信息。整体功能设计图如下所示:第二章 系统分析2.1留言板管理系统前端的主要功能(1)用户注册。(2)用户登录。(3)用户发表主题。(4)用户

3、回复。(5)用户修改个人注册信息。(6)用户查看所有发帖以及回复信息.(7)用户查看自己发表的主题。(8)用户对主题进行各种查询。2。2留言板管理系统后台管理的主要功能(1)管理员登陆。(2)修改用户注册信息。(3)管理员修改用户发帖或回复的信息.(4)管理员删除用户发帖或回复的信息。(5)对用户发帖信息进行加精处理。2。3留言板管理系统性能要求(1)页面响应速度快。(2)页面美观整洁。留言板管理系统管理员普通用户修改用户信息修改和删除标题和回复信息注册登陆登陆加精标题查看留言留言创建标题查看标题第三章 详细设计3.1 数据库分析 用户需求具体管理系统提供保存、更新、查询、维护,这就需求数据库

4、结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性.3。2 数据库概念结构设计:E-R图账号密码管理员3.3管理员表Create table admin(Ano char(10) primary key,Pwd char(10)Insert into admin(ano, pwd) values(gao,111)管理员(姓名、密码)对应ER图如下:管理员信息姓名密码3。4用户信息表create table users( uno char(20) primary key, u

5、name char(20), sex char(20), pwd char(20), img char(100),)用户信息(账号、性别、姓名、密码、头像)对应ER图如下:客户信息 账号 姓名 性别 密码 头像3。5留言信息表create table jiaoliu( jno int identity(1,1) primary key,uno char(20),nerong char(2000),foreign key(uno) references users(uno)on delete cascadeon update cascade)留言信息(用户账号、留言信息)对应ER图如下:留言表

6、编号留言信息账号3。6数据库快照及字段说明(数据库为SQL server2005)普通用户表:user表格属性说 明是否为主码user_name用户注册的用户名。否password用户名的密码。否user_sex用户输入的性别.否user_qq用户输入的qq号码。是user_email用户输入的email地址。否主题表:theme表格属性说 明是否为主码theme_id主题id。是theme_user_name发表主题的用户名。否theme_content主题的内容。否click_number主题被点击的次数。否dateline发表的时间。否message_number留言的数量。否theme

7、_name主题名。否is_good是否被加精.否用户留言表:message表格属性说 明是否为主码message_id留言id是message_date留言时间。否message_content留言内容.否message_user_name留言者的用户名否theme_id留言对应的主题.否管理员账户表:admin表格属性说 明是否为主码admin_name管理员用户名。是admin_password管理员用户密码。否3。7数据库连接详细设计:系统管理模块:(代码实现)void CLoginDlg:OnOK() /响应按钮连接数据库CString str,strPasswd;_Recordset

8、Ptr pRS; / Recordset对象UpdateData();/ 更新数据/ 打开数据库if(pTheConnGetState()=adStateClosed)pTheConn-Open(m_strDSN.AllocSysString(),”,,-1);pRS。CreateInstance(_uuidof(Recordset)); / 创建Recordset对象实例strPasswd=CCrypt::Encrypt(m_strPasswd,123); / 密码加密/ 设置过滤条件str=”ID= + m_strUser+ ” and PASSWD= + strPasswd+ and A

9、UTHORITY=5;trypRS-Filter=str.AllocSysString();pRS-Open(”PERSON,pTheConn.GetInterfacePtr(),adOpenStatic,adLockReadOnly,adCmdTable);catch(_com_error e)CString Error = e-ErrorMessage();AfxMessageBox(eErrorMessage();catch(.)AfxMessageBox(”打开数据集对象出错!);int a=pRS-RecordCount;if(pRSRecordCount=1) / 判断认证是否通过

10、EndDialog(IDOK); / 关闭对话框elseMessageBox(请确认用户名和密码,注意大小写!”, 认证失败);void CSalaryDlg:OnSystemConnect() / 显示用户登录窗口CLoginDlg LoginDlg;if(LoginDlg。DoModal()=IDOK) / 认证通过m_wndStatusBar。SetPaneText(1, ”已连接到数据库: + LoginDlg.m_strDSN);void CSalaryDlg::OnSystemDisconnect() / 断开连接/ 关闭Connetion对象if(pTheConn-GetStat

11、e()=adStateOpen)pTheConn-Close();m_wndStatusBar。SetPaneText(1, ”尚未登录数据库,请按F2登录);第四章 前端页面设计主页面(图1)用户浏览主页面,将会显示所有标题信息.如果用户没有登陆则会在右上角用红色的字体显示“登陆”和“注册”。标题按时间顺序降序排列,标题如果被加精则会在标题名称后面显示红色的“精品”。在标题名前显示了点击数和留言数。主页面中还有搜索标题的功能可对标题进行模糊查询,并进行了不为空的验证(主页面代码太多,省略).在主界面上当用户点击了“精品区”,“人气排行”,“首页”和标题名称这些链接后,将会通过Struts2的

12、机制进行跳转至后台处理。以下是这几个链接的后台处理文件代码和在Struts2配置文件中的配置代码:public String execute()ActionContext ct= ActionContext。getContext();HttpServletRequest request=(HttpServletRequest)ct.get(ServletActionContext。HTTP_REQUEST);if(request.getParameter(action)!=null)if(request.getParameter(”action).equals(”message”)List l

13、ist=new MessageDAO().findAll(request.getParameter(id));request。setAttribute(”message”, list);List temp1=(List)new ThemeDAO()。findById(request.getParameter(id”);Theme theme=(Theme)temp1。get(0);request.setAttribute(”theme”, theme);new ThemeDAO().click(theme);List temp2=(List)new UserDAO().findByName(t

14、heme.getUsertable().getUserName());Usertable user=(Usertable)temp2.get(0);request.setAttribute(”sex, user.getUserSex());return index;if(request。getParameter(”action”).equals(isGood)List list=new ThemeDAO().findisGood();request.setAttribute(list, list);return ”index”;if(request.getParameter(”action”)

15、.equals(”orderby”)List list=new ThemeDAO()。findOrderBy();request.setAttribute(”list”, list);return ”index”;List list=new ThemeDAO().findAll();request.setAttribute(list, list);return index;package name=strutsqs extends=”strutsdefault/alert。jsp/result/index.jsp/result/error.jsp/result/action其中alert.js

16、p页面用于显示各种提示信息。在我的设计中,如果需要提示信息时,会将短小的脚本代码设置到request范围中,然后通过Struts2机制跳转到alert.jsp页面,在alert。jsp页面中输出request中的信息。脚本中的信息一般是提示框,点击后跳转到用户所需要的页面。用户点击“首页,“精品区”,“人气排行”和标题的链接最后都依旧会跳到主页面,只是显示的内容不同.点击“首页”会将所有标题信息显示,按时间降序排列(图1所示)。点击“精品区”会显示所有被加精品的标题(如图2).点击“人气排行”会显示所有标题,但是将按照留言数量进行排序(留言数量相同时按照点击数排序,如图3)。点击标题链接则会将

17、该标题的所有留言信息显示出来,在此时“创建标题”链接将会变成“留言”链接(如图4)。图2图3图4在主页面中,虽然所有浏览该页面的人都能看到“创建标题”和“留言链接。但是如果浏览者没有登陆,则无法进行“创建标题和“留言”。点击是会被提示(图5),然后将登陆层显示(如图6),让用户登陆后在进行“创建标题”和“留言操作。图5 图6登陆后用户进行“创建标题”和“留言”(同时也可以看到右上角的“登陆”,“注册”,变成了“修改注册信息,“我创建的标题”)。用户点击“创建标题”时,会将创建标题层显示,创建标题中失去焦点时即有脚本进行验证,并通过动态改变DIV的样式和文字来达到美观,简单的提示用户的效果(如图

18、7)。用户点击留言后,会弹出和创建标题层相同的层,不同的是标题变成无法修改,用户只能输入留言(图8)。图7图8在显示留言时,当用户注册信息性别为女时会显示女头像,为男时显示男头像(该功能可以扩展为用户任意选择头像)。当浏览页面想“创建标题”和“留言”但没有账号时就要通过注册页面进行注册,然后在进行登陆后的“创建标题”和“留言。注册页面(图9)在注册页面我使用了大量的脚本进行验证,在“用户名”栏使用了AJAX技术,在注册者输入用户名后,将进行脚本验证,验证通过后通过AJAX的方式提交到后台(AJAX也采用Struts2,图10)。验证同样是通过动态改变DIV样式和文字来达到提示的效果,并且当用户

19、提交时,会使验证没有通过的文本框获得焦点。图10图11以下是Struts2简单的AJAX,在配置文件文件中的代码:action name=Ajax class=”action.Ajaxresult type=json name=success/action 在action中的代码:public String execute() ActionContext ct= ActionContext.getContext();HttpServletRequest request=(HttpServletRequest)ct。get(ServletActionContext。HTTP_REQUEST);L

20、ist list=new UserDAO().findByName(request。getParameter(name);if(list。size()=0)isUser=true”;elseisUser=”false”;return success”;前台部分代码:var xmlHttp=new XMLHttpRequest();createXMLHttpRequest();xmlHttp。onreadystatechange=function()if(xmlHttp。readyState=4)result();xmlHttp。open(POST, Ajax?name=”+values); x

21、mlHttp。send(null);解析方法:function result()var oBook = eval(( +xmlHttp.responseText + )); if(oBook.isUser=”true”)document.getElementById(nameSpan)。className=”div2”;document。getElementById(nameSpan”).innerHTML=”恭喜!该用户名可以使用;flag1=true;elsedocument。getElementById(”nameSpan).className=div1;document。getElementById(”nameSpan”)。innerHTML=sorry,该用户名已被使用;flag1=false;以上为前台页面的内容,页面设计主要以简单,美观,简短为主,仍有大量需要改进之处。下面对后台功能进行简单的介绍。后台管理登陆页面(图12)在从后台登陆以后会跳到主页面,在点击进入标题链接进入显示留言的主页面后。页面中显示的标题和留言后出现了,各种管理的链接(图13)。管理员可以通过这些链接,有针对性的对标题留言进行各种操作(可以看见右上角的链接又变成了“管理用户”)。图13管理员在进行删除和加精操作是会有相应的提示,在删除标题时则会提示两次。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服