资源下载地址:https://download.csdn.net/download/sheziqiong/85810554
资源下载地址:https://download.csdn.net/download/sheziqiong/85810554
目 录
1 引言 1
1.1 课题背景 1
1.2 文献检索系统的发展概况 2
1.3 文献检索的背景知识 3
2 相关技术简介 7
2.1 IIS 7
2.2 .NET平台 8
2.3 ASP.NET 简介 9
2.4 SQL语言 10
2.5 SQL Server 2005 概述 11
2.6 开发模式的确定 13
3 文献检索系统的需求分析 14
3.1 可行性分析 14
3.2 功能分析 14
3.3 系统数据流图 15
3.4 系统实体联系图 16
3.5 运行环境分析 17
3.6 性能需求分析 18
4文献检索系统的概要设计 20
4.1 系统功能描述 20
4.2 系统流程分析 22
5 文献检索系统的详细设计 23
5.1 数据库设计 23
5.2 目录结构 25
5.3 通用模块 26
5.4 主要功能模块及核心代码 26
5.5 系统维护和更新 41
6 结束语 42
参考文献 43
致谢 44
5 文献检索系统的详细设计
5.1 数据库设计
总体设计阶段以比较抽象概括的方式提出了解决问题的办法。详细设计阶段的任务就是把解法具体化,也就是具体进行数据库的设计及程序的编写及整个系统模块的实现。
以下对各表进行功能说明:
(1)管理员表(Admin)用来保存管理员名及密码,结构如表5-1所示:
表5-1 管理员表Admin
字段名称 数据结构 主键 描述
Aid int 是 管理员编号
Aname Varchar(10) 否 管理员名
Apwd Varchar(50) 否 密码
(2)文献信息表(Book):用来存储的文献资料的详细信息,其属性由“文献编号+文献标题+作者名+关键字+摘要+发表时间+期刊名称+发表时间+分类”组成,如表5-2所示:
表5-2文献信息表
字段名称 数据结构 主键 描述
Bookid int 是 文献编号
Author Varchar(50) 否 作者名
Bookname Varchar(100) 否 文献标题
Keywords Varchar(50) 否 关键字
Abstract Varchar(50) 否 摘要
Pubtime datetime 否 发表时间
Qkname Varchar(200) 否 期刊名称
Location Varchar(200) 否 文献存放路径
Xzcount Int 否 下载次数
Code Char(10) 否 标题首字母
Class Varchar(50) 否 分类
(3)文献类别表(Class):该表用于存储目前已有的文献分类信息,该表中的文献类别属性要参照文献信息表的类别字段,其属性由“类别编号+类别名称”构成,如表5-3所示:
表5-3类别信息表
字段名称 数据结构 主键 描述
Cid int 是 类别编号
Cname Varchar(10) 否 类别名称
(4)用户类型表(Users):该表用来存储用户的相关信息,如用户名,密码,邮箱,电话等数据。具体结构如表5-4所示:
表5-4用户信息表
字段名称 数据结构 主键 描述
Uid int 是 用户编号
Uname Varchar(10) 否 用户名称
Upwd Varchar(50) 否 用户密码
Uemal Varchar(50) 否 用户邮箱
Utel Varchar(50) 否 用户电话
(5)讨论主题表(Topic):该表存储讨论区中的讨论主题的相关信息,包括发表主题的用户名、主题题目、内容、创建时间、用户IP地址等字段。具体结构如表5-5所示:
表5-5讨论主题表
字段名称 数据结构 主键 描述
TopicID int 是 主题编号
UserLoginName Varchar(20) 否 用户名称
Title Varchar(50) 否 题目
Content Varchar(50) 否 内容
CreateTime Varchar(50) 否 发表时间
IP Char(15) 否 用户IP地址
(6)主题回复表(Reply):该表储存讨论区中所有主题的回复帖的相关信息,包括所回复的主题ID、发表回复的用户名、回复题目、内容、创建时间、用户IP地址等字段。具体结构如表5-6所示:
表5-6主题回复表
字段名称 数据结构 主键 描述
ReplyID int 是 回复编号
IP Char(15) 否 用户IP地址
TopicID int 否 主题编号
UserLoginName Varchar(20) 否 用户名称
Title Varchar(50) 否 题目
Content Varchar(50) 否 内容
CreateTime Varchar(50) 否 发表时间
主要表之间的关系:使用SQL Server2005设计如图5.1所示的表的关系图,相应的主键与外键约束如图可见。
图5.1 数据库中表之间的关系图
5.2 目录结构
admin:用于存储系统管理员的后台操作脚本,包括登录、新增分类、文献资料管理、上传文献等功能。
admin-文献:文献资料的存放目录。
App_Code:包括数据库链接和用户注册两个通用模块。
App_Data:用于存放数据库。
css:存放控制页面显示控制的css样式表。
discuss:存放讨论区的相关页面及代码文件。
Images:用于存储网站显示中的图片文件。
js:存放用于控制即使文献信息显示的javascript脚本文件。
myControls:存放用户自定义控件,一个目录导航栏控件。
主页代码如下:
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%-- 在此处添加内容控件 --%>
<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="ContentPlaceHolder1">
<div id="wenxian" style="background-color:#7b97a8; width:100%; text-align: center;">所有文献</div>
<table border="0" cellpadding="0" cellspacing="0" style="width:599px; height:212px">
<tr>
<td style=" width:598px; height:116px;" valign="top">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CaptionAlign="Top" CellPadding="4" ForeColor="#404040" GridLines="None" PageSize="20" Width="599px" OnRowCreated="GridView1_RowCreated">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
文献名:
<a href='<%# Eval("Bookid", "showAllBooks.aspx?Bookid={0}") %>' rel="lightbox[roadtrip]" title="header=[文献名:<%# DataBinder.Eval(Container.DataItem, "Bookname")%>] body=[ 作者:<%# DataBinder.Eval(Container.DataItem, "Author")%> <br/> 摘要:<%# DataBinder.Eval(Container.DataItem, "Abstract")%><br/> 关键字:<%# DataBinder.Eval(Container.DataItem, "Keywords")%><br/>发布时间: <%# DataBinder.Eval(Container.DataItem, "Pubtime")%><br/>期刊名: <%# DataBinder.Eval(Container.DataItem, "Qkname")%>] "><%# DataBinder.Eval(Container.DataItem, "Bookname")%></a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
</table>
<div id="page" style="background-color:#7b97a8;">
<asp:LinkButton ID="linkDefault" runat="server" CausesValidation="False" CommandArgument="first" CommandName="page" >本页</asp:LinkButton>
<asp:LinkButton ID="linkPre" runat="server" CausesValidation="False" CommandArgument="pry" CommandName="page">前一页</asp:LinkButton>
<asp:LinkButton ID="linkNext" runat="server" CommandArgument="next" CommandName="page" OnClick="linkNext_Click">下一页</asp:LinkButton>
共:<asp:Label ID="Label1" runat="server" Text="Label" Width="55px"><%=GridView1.PageCount %></asp:Label>页,当前在第 <asp:Label ID="Label3" runat="server" Text="Label" Width="10px"><%
=GridView1.PageIndex + 1%></asp:Label>页<asp:LinkButton ID="linkLast" runat="server" CausesValidation="False" CommandArgument="endpage" CommandName="page">尾页</asp:LinkButton>
</div>
</asp:Content>
资源下载地址:https://download.csdn.net/download/sheziqiong/85810554
资源下载地址:https://download.csdn.net/download/sheziqiong/85810554