ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:480.27KB ,
资源ID:10863019      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10863019.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库课程设计留言板系统.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、数据库课程设计留言板系统第一章 总体设计 1.1需求分析 1.2模块设计 第二章 系统分析 2.1留言板管理系统前端的主要功能 2.2留言板管理系统后台管理的主要功能 2.3留言板管理系统性能要求第三章 详细设计 3.1.数据库分析 3.2.E-R图 3.3.管理员表 3.4.用户信息表 3.5.留言信息表 3.6.数据库快照及字段说明 3.7.数据库连接详细设计 第四章 前端页面设计 第一章 总体设计1.1需求分析随着网络热潮的发展,各种各样的网站正成倍的迅速增长,面对各种网站,论坛的发展,人们开始更多的在网上交流。这就需要一个发表留言的系统留言板。通过这样的系统,可以做到信息的规范管理、科

2、学统计和快速的发表言论。由于计算机和网络的普及,若建立一个留言板系统,人们便可以通过网络的登陆成为会员,取得发表言论上午资格,也使得留言板管理工作系统化,规范化,自动化。1.2模块设计留言板系统的基本功能包括用户信息的录入、查询、修改和删除。用户留言及头像的前台显示功能。其中还包括管理员的登录信息。整体功能设计图如下所示:第二章 系统分析2.1留言板管理系统前端的主要功能(1)用户注册。(2)用户登录。(3)用户发表主题。(4)用户回复。(5)用户修改个人注册信息。(6)用户查看所有发帖以及回复信息。(7)用户查看自己发表的主题。(8)用户对主题进行各种查询。2.2留言板管理系统后台管理的主要

3、功能(1)管理员登陆。(2)修改用户注册信息。(3)管理员修改用户发帖或回复的信息。(4)管理员删除用户发帖或回复的信息。(5)对用户发帖信息进行加精处理。2.3留言板管理系统性能要求(1)页面响应速度快。(2)页面美观整洁。第三章 详细设计3.1 数据库分析 用户需求具体管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息的输入与输出,实现有组织地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度独立性。3.2 数据库概念结构设计:E-R图3.3管理员表Create table admin(Ano cha

4、r(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, uname 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

5、char(20),nerong char(2000),foreign key(uno) references users(uno)on delete cascadeon update cascade)留言信息(用户账号、留言信息)对应ER图如下:3.6数据库快照及字段说明(数据库为SQL server2005)普通用户表:user表格属性说 明是否为主码user_name用户注册的用户名。否password用户名的密码。否user_sex用户输入的性别。否user_qq用户输入的qq号码。是user_email用户输入的email地址。否主题表:theme表格属性说 明是否为主码theme_i

6、d主题id。是theme_user_name发表主题的用户名。否theme_content主题的内容。否click_number主题被点击的次数。否dateline发表的时间。否message_number留言的数量。否theme_name主题名。否is_good是否被加精。否用户留言表:message表格属性说 明是否为主码message_id留言id是message_date留言时间。否message_content留言内容。否message_user_name留言者的用户名否theme_id留言对应的主题。否管理员账户表:admin表格属性说 明是否为主码admin_name管理员用户名

7、。是admin_password管理员用户密码。否3.7数据库连接详细设计:系统管理模块:(代码实现)void CLoginDlg:OnOK() /响应按钮连接数据库 CString str,strPasswd; _RecordsetPtr pRS; / Recordset对象 UpdateData();/ 更新数据 / 打开数据库 if(pTheConn-GetState()=adStateClosed) pTheConn-Open(m_strDSN.AllocSysString(),-1); pRS.CreateInstance(_uuidof(Recordset); / 创建Record

8、set对象实例 strPasswd=CCrypt:Encrypt(m_strPasswd,123); / 密码加密 / 设置过滤条件 str=ID= + m_strUser + and PASSWD= + strPasswd + and AUTHORITY=5; try pRS-Filter=str.AllocSysString(); pRS-Open(PERSON, pTheConn.GetInterfacePtr(), adOpenStatic,adLockReadOnly,adCmdTable); catch(_com_error *e) CString Error = e-ErrorM

9、essage(); AfxMessageBox(e-ErrorMessage(); catch(.) AfxMessageBox(打开数据集对象出错!); int a=pRS-RecordCount; if(pRS-RecordCount=1) / 判断认证是否通过 EndDialog(IDOK); / 关闭对话框 else MessageBox(请确认用户名和密码,注意大小写!, 认证失败);void CSalaryDlg:OnSystemConnect() / 显示用户登录窗口 CLoginDlg LoginDlg; if(LoginDlg.DoModal()=IDOK) / 认证通过 m

10、_wndStatusBar.SetPaneText(1, 已连接到数据库: + LoginDlg.m_strDSN);void CSalaryDlg:OnSystemDisconnect() / 断开连接 / 关闭Connetion对象 if(pTheConn-GetState()=adStateOpen) pTheConn-Close(); m_wndStatusBar.SetPaneText(1, 尚未登录数据库,请按F2登录);第四章 前端页面设计主页面(图1)用户浏览主页面,将会显示所有标题信息。如果用户没有登陆则会在右上角用红色的字体显示“登陆”和“注册”。标题按时间顺序降序排列,标

11、题如果被加精则会在标题名称后面显示红色的“精品”。在标题名前显示了点击数和留言数。主页面中还有搜索标题的功能可对标题进行模糊查询,并进行了不为空的验证(主页面代码太多,省略)。在主界面上当用户点击了“精品区”,“人气排行”,“首页”和标题名称这些链接后,将会通过Struts2的机制进行跳转至后台处理。以下是这几个链接的后台处理文件代码和在Struts2配置文件中的配置代码:public String execute() ActionContext ct= ActionContext.getContext();HttpServletRequest request=(HttpServletRequ

12、est)ct.get(ServletActionContext.HTTP_REQUEST); if(request.getParameter(action)!=null) if(request.getParameter(action).equals(message) List list=new MessageDAO().findAll(request.getParameter(id); request.setAttribute(message, list); List temp1=(List)new ThemeDAO().findById(request.getParameter(id); T

13、heme theme=(Theme)temp1.get(0); request.setAttribute(theme, theme); new ThemeDAO().click(theme); List temp2=(List)new UserDAO().findByName(theme.getUsertable().getUserName(); Usertable user=(Usertable)temp2.get(0); request.setAttribute(sex, user.getUserSex(); return index; if(request.getParameter(ac

14、tion).equals(isGood) List list=new ThemeDAO().findisGood(); request.setAttribute(list, list); return index; if(request.getParameter(action).equals(orderby) List list=new ThemeDAO().findOrderBy(); request.setAttribute(list, list); return index; List list=new ThemeDAO().findAll(); request.setAttribute

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

16、品的标题(如图2)。点击“人气排行”会显示所有标题,但是将按照留言数量进行排序(留言数量相同时按照点击数排序,如图3)。点击标题链接则会将该标题的所有留言信息显示出来,在此时“创建标题”链接将会变成“留言”链接(如图4)。图2图3图4在主页面中,虽然所有浏览该页面的人都能看到“创建标题”和“留言”链接。但是如果浏览者没有登陆,则无法进行“创建标题”和“留言”。点击是会被提示(图5),然后将登陆层显示(如图6),让用户登陆后在进行“创建标题”和“留言”操作。图5 图6登陆后用户进行“创建标题”和“留言”(同时也可以看到右上角的“登陆”,“注册”,变成了“修改注册信息”,“我创建的标题”)。用户点

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

18、证,验证通过后通过AJAX的方式提交到后台(AJAX也采用Struts2,图10)。验证同样是通过动态改变DIV样式和文字来达到提示的效果,并且当用户提交时,会使验证没有通过的文本框获得焦点。图10图11以下是Struts2简单的AJAX,在配置文件文件中的代码: 在action中的代码:public String execute() ActionContext ct= ActionContext.getContext();HttpServletRequest request=(HttpServletRequest)ct.get(ServletActionContext.HTTP_REQUES

19、T); List list=new UserDAO().findByName(request.getParameter(name); if(list.size()=0) isUser=true; else isUser=false; return success; 前台部分代码:var xmlHttp=new XMLHttpRequest();createXMLHttpRequest(); xmlHttp.onreadystatechange=function() if(xmlHttp.readyState=4) result(); xmlHttp.open(POST, Ajax?name=+

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

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1