版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 毕毕业业论论文文(设设计计) 题题 目:目:基于基于 asp.net 的新闻发的新闻发 布系统的设计与实现布系统的设计与实现 所所 在在 系:系: 计算机科学系计算机科学系 专专 业:业: 计算机科学与技术计算机科学与技术 更多论文 http:/ i 基于基于 asp.net 的新闻发布系统的设计与实现的新闻发布系统的设计与实现 摘摘 要要 随着信息时代的高速发展,传统的报纸杂志已经远远满足不了人们的需求,人们更加希望 于能够在网上了解更多的新闻和信息,于是我们就很有必要在网上创建一个新闻发布管理信息系统 了。大部分网站都是采用静态的方式来发布和管理信息的,可是网站需要更新的信息量也越来越大
2、, 所以这很不利于网站管理人员的工作。为了更加方便的管理网站,于是我们就很迫切的需要利用动 态技术创建一个新闻发布管理信息系统了。 本设计采用 microsoft studio 2008 作为开发工具,后台数据库采用 sql server 2005 数据库 的设计,利用 ado.net 数据访问技术实现对数据库的各种管理操作,实现新闻发布系统的浏览和新 闻搜索等功能,系统模块设计包括系统类的设计、前台用户模块的设计和后台用户管理模块的设计。 由于要对数据库进行不断的读写操作,所以建立数据连接类和对数据的操作类会使设计减轻负担, 还根据数据库的设计建立了各种对象的业务相关类。前台用户模块主要是实
3、现新闻的浏览、对新闻 进行评论、用户注册等功能;后台管理模块主要是实现管理现有新闻、 添加新闻内容、审核最新 新闻、新闻评论管理、管理新闻类别、管理系统用户等功能。 关键词关键词 asp.net;c#;ado.net;sql server;新闻管理 目 录 更多论文 http:/ ii 1 绪论.1 1.1 新闻发布系统概述1 1.2 国内外新闻发布系统研究现状1 1.3 开发工具选用及介绍1 2 基于.net 平台的相关技术2 2.1 .net 简介2 2.2 sql server 2005 数据库的新特点2 2.3 ado.net 数据访问技术3 2.4 三层结构4 2.5 c#2.0 的
4、新特性5 3 系统分析与总体设计6 3.1 系统功能模块划分6 3.2 系统流程分析8 4 数据库结构设计与实现9 4.1 创建数据库9 4.2 数据库逻辑结构设计9 4.3 创建表的脚本文件12 5 数据访问类的实现、母版及用户控件14 5.1 数据访问类的实现14 5.2 母版21 5.3 用户控件22 6 系统主界面与登录程序设计22 6.1 设计主界面22 6.2 登录程序设计23 7 后台管理主界面.24 8 新闻管理模块设计.25 8.1 管理现有新闻25 8.1.1 修改新闻.26 8.1.2 删除新闻.27 8.2 添加新闻27 更多论文 http:/ iii 8.3 审核最新
5、新闻27 8.4 新闻评论管理28 9 类别管理模块设计29 9.1 设计新闻类别管理页面29 10 用户管理模块设计30 10.1 管理系统用户30 11 系统运行31 11.1 安装 iis 服务器程序31 结论33 致谢34 参考文献35 更多论文 http:/ 1 1 绪论 1.1 新闻发布系统概述 新闻发布系统(news management system)又称为信息发布系统,是一个利用计 算机网络为平台构建的新闻发布体系,它将网站上的新闻发布等重要信息集中管理, 并通过信息的某些性质进行分类,最后系统化,标准化的发布到网站上的一种网站应 用程序,网站信息通过一个简单的界面加入数据,
6、然后通过已有的网页模版格式与审 核流程发布到网站上。它的出现大大减轻了网站更新维护的工作量,通过网络数据库 的引用,将网站的更新维护工作简化到只需录入文字和上传图片,从而使网站的更新 的速度大大缩短,从而大大加快了信息的传播速度。 1.2 国内外新闻发布系统研究现状 目前,新闻发布系统的开发技术已经十分成熟,用到的技术有很多,比方asp技 术,php技术,jsp技术,.net技术等,成熟的新闻发布系统有很多,如著名的v7 content mangement suite(西门子公司采用的系统),interwoven-teamsite(cisco 采用的 系统)以及开源的产品也得到广泛的应用,如o
7、pencms,zope-content management framework等。 1.3 开发工具选用及介绍 传统的新闻发布系统主要有两种,一是静态 html 页面,更新信息时需要重新制作 页面后上传,同时还要修改相应的链接,这种方式因效率太低已不多用。二是基于 asp 和脚本语言,将动态网页和数据库相结合,通过应用程序来处理新闻,这是目前 较流行的做法,但是由于 asp 本身的局限性是的系统有一些不可克服的缺陷,而采用 asp.net 技术,在系统性能上就有了很大的提高,主要体现在一下几个方面: (1)asp.net 页面不同于 asp 页面,它只需要一次编译不需要重新编译,直到该 页面
8、被重新修改或 web 程序重新启动为止,使得多次访问速度有了极大的提升。 (2)asp.net支持应用程序的实时更新。管理员不必关掉网络服务器或者甚至不用 停止应用程序的运行就可以更新应用文件。 (3)asp.net采取“code-behind”方式编写代码,使系统更易于编写,结构更清晰, 降低了系统的开发与维护的复杂度和费用。 更多论文 http:/ 2 基于 asp.net 的优点,所以我选择了 visual stiduo 2008 作为开发工具,并结合 sql server 2005 作为后台数据库。同时用 macromedia dreamweaver mx 2004 进行页面 的设计。
9、 2 基于.net 平台的相关技术 2.1 .net 简介 microsoft.net 是一个用于构建、运行和体验下一代分布式应用程序的平台,它是 跨客户端、跨服务器的开发工具。它由以下几个部分组成: (1).net 框架编程模型,借助它开发人员能够构建 web 应用程序、智能客户端 应用程序和 xml web service 应用程序,并利用诸如 soap、xml 和 http 标准协议 以编程方式通过网络开放其功能。 (2)开发工具,比如 visual studio.net,该工具为用户在.et 框架下进行编程提供 了一个迅速开发应用程序的集成环境。 (3)一组服务器,包括 windows
10、 2000、sql server 和 biztalk server,可集成、运 行、操作和管理 xml web 服务和应用程序。 (4)客户端软件,比如 windows xp、windows ce 和 microsoft office xp. 2.2 sql server 2005 数据库的新特点 随着 mierosotf sql sevrer 2005 beatz 的发布,数据库开发的方式正在改变中。数 据库开发工作正前所未有的越来越集成,所需要的所有工具都触手可及。 (1)net framewokr 集成 随着 mciorostf sql sevrer 2005 beat2 的发布,数据库
11、编程人员现在可以充分利用 mciorosfl.net framewokr 类库和现代编程语言来开发数据库应用。通过集成的 clr, 你可以用.net framework language 里的 visual basic.net 和 c#中面向对象的结构、结 构化的错误处理、数组、命名空间和类来编写存储过程、函数和触发器。此外,.net framework 所提供的几千个类和方法也扩展了服务器功能,使你能够更容易的在服务 器端使用。许多之前我们用 t 一 sql 难以实现的任务现在可以更容易的用托管代码实 现。同时,系统还新增了两个数据库对象类型:聚合和用户自定义类型。你现在能够更 好的利用己掌
12、握的知识和技能编写 in 一 proeess 代码。总之,sql sevrer 2005 beta2 能 更多论文 http:/ 3 够使你的数据库服务器更方便地在后台执行适当的计算和操作。 (2)xml 技术 xml 己经成为一种存储和交换数据的通用格式,是那些带标记的、结构化或半结 构化信息的常用选择,如:文本(带有标示文档结构和重点的标记),嵌套对象(结构化 的),异类数据(半结构化的)。xml 也是一种用来在网络上不同应用程序间散布数据 的重要的、被广为接受的标准。mierosotf sql sevrer2005 支持通过 mierosotf sql xml 来使用 xml,它允许把关
13、系型数据转换为 xml,把 xml 数据存在关系型表中。 microsoft sql sverer 2005 beta2 通过把 xml 作为一类数据类型来实现这一功能,此 外,它还提供了针对 xml 文档的新的查询语句和定位修改。 (3)新的应用程序框架 sql sevrer 2005 引入了新的 sql sevrer 应用程序框: sevrieeborker。sevrcieborker 是一个分布式应用程序框架,它在数据库到数据库级上 提供了可靠的异步通讯。 2.3 ado.net 数据访问技术 ado.net 是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是 数据库,但它同
14、样也能够是文本文件、excel 表格或者 xml 文件。ado.net 允许和不 同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的 工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协 议。一些老式的数据源使用 odbc 协议,许多新的数据源使用 oledb 协议,并且现在 还不断出现更多的数据源,这些数据源都可以通过.net 的 ado.net 类库来进行连接。 ado.net 提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用 一组不同的类库。这些类库称为 data providers,并且通常是以与之交互的协议和数据 源的类型来
15、命名的。 ado.net 包含的对象: sqlconnection 对象 和数据库交互,你必须连接它。连接帮助指明数据库服务器、数据库名字、用户 名、密码,和连接数据库所需要的其它参数。connection 对象会被 command 对象使用, 这样就能够知道是在哪个数据库上面执行命令。与数据库交互的过程意味着你必须指 明想要发生的操作。这是依靠 command 对象执行的。你使用 command 对象来发送 更多论文 http:/ 4 sql 语句给数据库。command 对象使用 connection 对象来指出与哪个数据库进行连接。 你能够单独使用 command 对象来直接执行命令,或
16、者将一个 command 对象的引用传 递给 sqldataadapter,它保存了一组能够操作下面描述的一组数据的命令。 sqldatareader 对象 许多数据操作要求你只是读取一串数据。data reader 对象允许你获得从 command 对象的 select 语句得到的结果。考虑性能的因素,从 data reader 返回的数据都是快 速的且只是“向前”的数据流。这意味着你只能按照一定的顺序从数据流中取出数据。 这对于速度来说是有好处的,但是如果你需要操作数据,更好的办法是使用 dataset。 dataset 对象 dataset 对象是数据在内存中的表示形式。它包括多个 da
17、tatable 对象,而 datatable 包含列和行,就象一个普通的数据库中的表。你甚至能够定义表之间的关系 来创建主从关系(parent-child relationships)。dataset 是在特定的场景下使用帮助 管理内存中的数据并支持对数据的断开操作的。dataset 是被所有 data providers 使用 的对象,因此它并不像 data provider 一样需要特别的前缀。 sqldataadapter 对象 某些时候你使用的数据主要是只读的,并且你很少需要将其改变至底层的数据源。 同样一些情况要求在内存中缓存数据,以此来减少并不改变的数据被数据库调用的次 数。dat
18、a adapter 通过断开模型来帮助你方便的完成对以上情况的处理。当在一单批 次的对数据库的读写操作的持续的改变返回至数据库的时候,data adapter 填充(fill) dataset 对象。data adapter 包含对连接对象以及当对数据库进行读取或者写入的时候自 动的打开或者关闭连接的引用。另外,data adapter 包含对数 select,insert,update 和 delete 操作的 command 对象引用。 2.4 三层结构 所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层” ,也叫组件层。 这里所说的三层体系,不是指物理上的三层,不是简单地放置三台
19、机器就是三层体系 结构,也不仅仅有 b/s 应用才是三层体系结构,三层是指逻辑上的三层,见图 1: 更多论文 http:/ 5 图 1 三层结构模拟图 即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、数据访问、合法 性校验等工作放到了中间层进行处理。 通常情况下,客户端不直接与数据库进行交互,而是通过 com/dcom 通讯与中间 层建立连接,再经由中间层与数据库进行交互。as.pnet 可以使用.net 平台快速方便 的部署三层架构。as.pnet 革命性的变化是在网页中也使用基于事件的处理,可以指 定处理的后台代码文件,可以使用 c#,vb,j#作为后台代码的语言。.net 中
20、可以方 便的实现组件的装配,后台代码通过命名控件可以方便的使用自己定义的组件。显示 层放在 asp.net 页面中,数据库操作和逻辑层用组件来实现,这样就很方便的实现了 三层架构。所以,n 层架构的核心是提供可规模化特性,一方面是从服务负载上可规 模化,能同时为极大规模的用户同时提供服务;另一方面是服务功能上的可规模化,可 形成极大规模的软件群系统,各分系统可以共享信息、服务,形成企业级的信息高速 公路。三层可以分别放在各自不同的硬件系统上的,所以灵活性很高,能够适应客户 机数目的增加和处理负荷的变动。例如,在追加新业务处理时,可以相应增加装载功 能层的服务器。因此,系统规模越大这种形态的优点
21、就越显著。 另外,n 层结构从逻辑上相互独立,某一层的变动通常不影响其它层,具有很高 的可重用性,除此以外,n 层结构还有以下优点: .利用单一的访问点,可以在任何地方访问站点的数据库; .对于各种信息源,不论是文本还是图形都采用相同的界面; .所有的信息,不论其基于何种平台,都可以用相同的界面访问; .减少整个系统的成本; .维护升级十分方便; .使系统具有更好的扩展性; .具有良好的开放性; .进行严密的安全管理; .系统管理简单,可支持异种数据库,有很高的可用性。 2.5 c#2.0 的新特性 c#2.0 是微软针对新一代.net 平台开发的语言,在 c#1.x 的基础上添加了泛型、 匿
22、名方法、迭代器、委托类型以及其他诸多新特性。 更多论文 http:/ 6 (1).在 c#2.0 中,泛型、匿名方法、ienumerable 接口和匿名方法的合作,使很多 的编程任务变得非常的简单。 (2).迭代器与泛型有着本质上的不同,泛型是相对 1.x 微软在 li 上面又添加了一 些指令来实现。而迭代器则是在编译器这个层次去实现的,也就是说 c#2,0 中的迭代 器的特性并没有靠引入 li 来实现。类似 foreach(srtings int c)这样的调用方式,一般就 是一个迭代器,使用 c#2.0 中的迭代器会使用代码变得很简单。 (3).deelgaet 经常被人用来与回调相比较,
23、其实两者在某种程度上由很多共同点。 不过 delgeate 有很多更加强大的地方。首先,delgeaet 中可以注册任意多个回调,在一 个 delgeate 被调用的时候,己经注册的过程将会被逐个调用。其次,delgeate 允许注册 一个对象的方法,而不像 c+中指可以使用静态方法或者全局方法作为函数指针,提 供了更多的灵活性,同时也暗示我们,delgeate 中按照某种方式保存了。在 c#2.0 的匿 名 delgeate 中,我们甚至可以访问当前匿名 delgeate 的上下文变量。 3 系统分析与总体设计 很多网站都提供新闻栏目,例如搜狐、新浪等著名网站的新闻专栏。许多企业和 个人网站
24、也需要定期发布一些关于企业或网站的新闻。因为网络中新闻发布的频率非 常高,如果使用静态网页作为新闻页面,则维护工作将非常繁琐,管理员每天需要制 作大量的网页,从而浪费很多时间和精力。使用新闻发布及管理系统可以使新闻发布 和管理变得很轻松,管理员只需设置标题、内容和图片等新闻就可以了,系统将自动 生成对应的网页。本文将对新闻发布及管理系统进行系统分析与总体设计。 3.1 系统功能模块划分 从功能描述的内容可以看到,本系统可以实现 6 个完整的功能。我们根据这些功 能,设计出系统的功能模块,见图 2: 更多论文 http:/ 7 新闻发布系统 新闻类别管理 新闻管理模块 新闻查询模块 评论管理模块
25、 系统用户管理 图 2 新闻发布系统功能模块示意图 新闻发布及管理系统的功能模块之间的关系见图 3 所示。 后台系统 提供数据 新闻类别管理 前台系统 数据库 基本信息发布 新闻查询管理 浏览新闻 发表网友评论 图 3 新闻发布系统的功能模块关系图 本系统在初始化时,有一个默认的“管理员”用户 tyh,由程序设计人员手动地添 加到数据库中。tyh 用户可以创建用户、修改、删除用户信息、给用户设置权限;权限 有两种,一个是管理员,另一个是普通用户,普通用户只能修改自己的用户信息,发 布新闻,且不能登录后台管理系统。 用户管理功能模块的关系见图 4 所示。 更多论文 http:/ 8 系统用户信息
26、管理 修改 tyh 用户的密码 创建、修改、删除普通用户信息 修改自身的信息,发布新闻 tyh 用户 普通用户 图 4 用户管理功能模块的关系图 3.2 系统流程分析 多用户系统的工作流程都是从用户登录模块开始,对用户的身份进行认证。身份 认证可以分为以下两个过程: (1)确认用户是否是有效的系统用户。 (2)确定用户的类型。 第 1 个过程决定用户能否进入系统。第 2 个过程根据用户的类型决定用户的操作 权限,从而决定用户的工作界面。 本系统分为前台系统和后台系统两个部分。前台系统不需要进行身份认证,任何 人都可以通过浏览器阅读已经发布的新闻、发表网友评论。 后台管理的流程分析见图 5 所示
27、。tyh 用户拥有所有的权限,普通用户只能发布自 己的新闻,修改自己的信息。 更多论文 http:/ 9 用户登录 失败报错 管理所有用户的信息 管理新闻类别,发布信息,所有新闻信息 的管理 管理自己的信息 发布新闻。 tyh 普通用户 图 5 新闻发布系统后台管理流程分析 4 数据库结构设计与实现 4.1 创建数据库 首先创建一个数据库 news2005,用来保存本系统的所有数据。创建数据库的脚本 代码如下: create database news2005 go 可以在 sql 查询分析器中执行该语句,创建数据库。 4.2 数据库逻辑结构设计 本系统定义的数据库中包含以下 4 个表:新闻类
28、别表:bigclass、新闻基本信息表: news、评论信息表:answer 和用户信息表:admin。下面分别介绍这些表的结构。 管理页面首页 更多论文 http:/ 10 (1)新闻类别表 bigclass 新闻类别表 bigclass 用来保存新闻类别数据,结构见表 1 所示。 表 1 新闻类别表 bigclass 的结构 编号字段名称数据结构说明 1 idint新闻类别编号 2 namevarchar (50)新闻类别名称 3 flagchar(10)是否显示分类标记 4 cindexint新闻系统新闻的总条数 5 newscount int当前类别新闻数目 在设计数据库结构时,很多表
29、都需要设计一个整型字段作为标识列,这几乎已经 成为惯例,例如表 bigclass 中的 id 字段。所谓标识列,就是可以惟一标识一行记录的 列,在表中不会存在两条标识列相同的记录。如果其他表需要引用表 bigclass 中的数 据,则在表中添加一个 id 字段就可以了。在系统中,id 字段对于用户来说是透明的, 用户感觉不到它的存在,也无法对其进行修改。 (2)基本新闻表 news 基本新闻表 news 用来保存网上新闻的基本信息,结构见表 2 所示。 表 2 新闻表 news 的结构 编号字段名称数据结 构 说明 1 idint 新闻编号 2 titlevarchar(50) 新闻标题 3
30、infotext 新闻内容 4 bigclassidvarchar(50) 栏目 id 5 usernamevarchar(50) 发布人 6 infotime datetime 发布时间 7 hits int 点击率 更多论文 http:/ 11 8 flagvarc har(50) 是否通过审核 9 cindex int 新闻总数 在 sql server 2005 中,可以使用 char、varchar 和 text 等 3 种数据类型存储非 unicode 字符数据。char 和 varchar 只能存储最多 8000 个字符,其中 char 用于存储固 定长度的字符数据,varcha
31、r 用于存储可变长度的字符数据。如果需要存储的数据很大, 则可以使用 text 数据类型,text 数据类型也是可变长度的,最多可为 2147483647 个字 符。 (3)评论信息表 answer 评论信息表 answer 用来保存网友对新闻的评论信息,结构见表 3 所示。 表 3 评论信息表 answer 的结构 编 号 字段名 称 数据结构 说明 1 a_id int 评论编号 2 a_qq varchar(50) 评论人 qq 3 a_emailvarchar(50)评论人 email 4 a_word varchar(200)评论内容 5 a_timedatetime评论时间 6 n
32、ewsidint评论的新闻 id 7 cindexint评论数目 在 sql server 2005 中,可以使用 datetime 和 smalldatetime 两种数据类型存储日 期时间数据。datetime 数据类型用于存储从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日 期和时间数据,精确到 333ms;smalldatetime 数据类型用于存储从 1900 年 1 月 1 日 到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。 (4)用户信息表 admin 用户信息表 admin 用来保存用户的基本信息,结构见表 4 所示。 表 4 用户信息表
33、 admin 的结构 编 号 字段名称 数据结构 说明 1 cid int用户 id 号 。 2 username varchar(50)用户名 更多论文 http:/ 12 3 password varcahr(50)密码 4 email varchar(50)用户邮箱 5 aleavevarchar(50)用户权限 4.3 创建表的脚本文件 本节将介绍创建表的脚本文件,可以在“查询分析器”中执行这些脚本,在数据 库 news 中创建表。 (1)创建表 bigclass 创建表 bigclass 的脚本文件为 bigclass.sql,它的代码如下: use news2005 go crea
34、te table bigclass ( id int identity primary key, name varchar(50) cindex int , newscount int , ) go 在使用 create table 指令创建表时,应该注意使用 primary key 关键字定 义表的主键。表中每一行的主键都有惟一值,可以使用主键惟一地标识一行数据。 (2)创建表 news 创建表 news 的脚本文件为 news.sql,它的代码如下: use news2005 go create table news ( id int identity primary key, title
35、 varchar(50) , info text, bigclassid varchar(50), 更多论文 http:/ 13 username varchar(50), infotime datetime, hits int , flag int default 0 cindex int ) go 在使用 create table 指令创建表时,应该注意使用 not null 关键字定义表 的未空字段。使用 not null 定义的字段将不允许为空,这样就可以避免表中出现无 效的数据,影响系统运行。 在使用 create table 指令创建表时,使用 default 关键字可以字义字段的
36、 默认值,例如表 news 中,flag 字段的默认值为 0。 (3)创建表 answer 创建表 answer 的脚本文件为 answer.sql,它的代码如下: use news2005 go create table answer ( a_id int identity primary key, a_user varchar(50), a_qq varchar(50), a_emailvarchar(50), a_wordvarchar(200), a_time datetime, newsid int, cindex int, ) go 在使用 create table 指令创建表时,
37、通常可以使用 identity 关键字与 primary key 关键字相结合,创建标识字段。每次增加新记录时,标识字段自动递增。程序员在 更多论文 http:/ 14 编写程序的过程申,无需考虑标识字段的值。 (4)创建表 admin 创建表 admin 的脚本文件为 admin.sql,它的代码如下: use news2005 go create table admin ( cid int primary key identity, username varchar(50) not null, password varchar(50) not null, email varchar(50)
38、, aleave varchar(50) not null ) go insert into admin (username, password, email) values(admin, admin, , ) go 在创建表 admin 的同时,将默认的用户 tyh 插入到表中,默认的密码为“11”。 在执行这些脚本之前,请确定数据库 news2005 已经存在,否则会产生错误。如果要创 建的表已经存在,则需要先将表删除。 5 数据访问类的实现、母版及用户控件 5.1 数据访问类的实现 asp.net 为访问数据库提供了丰富的类库,如 system.data,这些类库在系统开发 中被频繁地使
39、用。本系统选用的是 sql server 2005 数据库,所有的数据都保存在数据 库表中。对 sql 数据库的访问可以使用一个封装的 sql 数据库访问类,这样可以提高 程序的可读性,提高效率。 下面定义一个名字空间通用类库 databaase,在其中封装了对 sql 数据库的访问 方法。 更多论文 http:/ 15 using system; using system.data; using system.data.sqlclient; using system.configuration; using system.web; / dbbase 的摘要说明 public class db
40、base public dbbase() / todo: 在此处添加构造函数逻辑 #region 定义连接字符串strcon / 定义连接字符串strcon public static string strcon = data source =(local);database = news2005;integrated security=true; /public static string strcon = system.configuration.configurationsettings.appsettingsconstr.tostring(); #endregion #region 实
41、例化连接对象con / 实例化连接对象con sqlconnection con = new sqlconnection(strcon); #endregion #region 检测连接是否打开 / 检测连接的方法checkconnection(),若连接是关闭的则打开 sqlconnection连接 public void checkconnection() if (this.con.state = connectionstate.closed) 更多论文 http:/ 16 this.con.open(); #endregion #region 执行语句返回dataset数据集 / / 执
42、行语句返回dataset数据集 / / 要执行的sql语句 / dataset集合 public dataset returndataset(string strsql) checkconnection(); try sqldataadapter sda = new sqldataadapter(strsql, con); dataset ds = new dataset(); sda.fill(ds); return ds; catch (exception ex) throw new exception(ex.message); finally con.close(); #endregio
43、n 更多论文 http:/ 17 #region 执行语句返回datarow / / 执行语句返回datarow / / 要执行的sql语句 / 返回datarow对象 public datarow getdatarow(string strsql) checkconnection(); try sqldataadapter sda = new sqldataadapter(strsql, con); dataset ds = new dataset(); sda.fill(ds); return ds.tables0.rows0; catch (exception ex) throw new
44、 exception(ex.message); finally con.close(); #endregion #region 执行sql语句或存储过程的方法executenonquery() / 执行存储过程或sql语句的方法executenonquery(),执行成功返回true, 否则返回false / 为true是执行存储过程,false执行sql语句 更多论文 http:/ 18 / 要执行的sql语句 / 执行成功返回true,否则返回false public bool executenonquery(bool ispro, string strsql) checkconnecti
45、on(); try sqlcommand com = new sqlcommand(strsql, con); if (ispro) com.commandtype = commandtype.storedprocedure; else com.commandtype = commandtype.text; com.commandtext = strsql; com.executenonquery(); con.close(); return true; catch return false; #endregion #region 执行sql语句的方法executenonquery() / 执
46、行sql语句的方法executenonquery() / 要执行的sql语句 更多论文 http:/ 19 public void executenonquery(string strsql) checkconnection(); try sqlcommand com = new sqlcommand(strsql, con); com.executenonquery(); catch (exception ex) throw new exception(ex.message); finally con.close(); #endregion #region 执行语句返回datatable的方
47、法 / 执行语句返回datatable的方法 / 要执行的sql语句 / 返回datatable对象 public datatable returntable(string strsql) checkconnection(); try sqldataadapter sda = new sqldataadapter(strsql, con); dataset ds = new dataset(); sda.fill(ds); 更多论文 http:/ 20 return ds.tables0; catch (exception ex) throw new exception(ex.message)
48、; finally con.close(); #endregion #region 执行语句返回sqldatareader对象 / 执行语句返回sqldatareader对象 / 待执行的语句 / sqldatareader对象 public sqldatareader returndatareader(string strsql) checkconnection(); try sqlcommand com = new sqlcommand(strsql, con); sqldatareader myreader = com.executereader(); return myreader;
49、catch (exception ex) throw new exception(ex.message); finally 更多论文 http:/ 21 #endregion #region 执行语句,返回该语句查询出的数据行的总数 / 执行语句,返回该语句查询出的数据行的总数 / 要执行的sql语句 / 整型值数据总行数 public int returnrowcount(string strsql) checkconnection(); try sqldataadapter da = new sqldataadapter(strsql, con); dataset ds = new dat
50、aset(); da.fill(ds); return ds.tables0.rows.count; catch return 0; #endregion 这里只是一个通用数据类库的设计实现,对于数据库中其他表的操作,由于页面 有限,就不一一说明,要实现其他数据库的操作,只要也定义相应的类及属性,再调 用通用数据库中的方法既可实现。 5.2 母版 更多论文 http:/ 22 我们在网上浏览网页的时候,一个网站的很多内容往往是不变的,比如导航条、 用户注册等,本系统同用也包含一些不变的模块,实现这些模块,我主要用到了母版 和用户控件。 母版页可以为应用程序中的页创建一致的布局。单个母版页可以为
51、应用程序中的 所有页(或一组页)定义所需的外观和标准行为。然后可以创建包含要显示的内容的 各个内容页。当用户请求内容页时,这些内容页与母版页合并以将母版页的布局与内 容页的内容组合在一起输出。 5.3 用户控件 用户控件是一种复合控件,工作原理非常类似于 asp.net 网页,可以向用户控 件添加现有的 web 服务器控件和标记,并定义控件的属性和方法。然后可以将控件 嵌入 asp.net 网页中充当一个单元。 6 系统主界面与登录程序设计 6.1 设计主界面 主界面为 default.aspx,它套用母版页后,主要功能是显示最新的 8 条新闻、新闻 类别及每个类别中的 4 条新闻。录入新闻类
52、别和新闻内容后,default.aspx 的界面见图 6 所示。 更多论文 http:/ 23 图 6 新闻主页 default.aspx 的界面 (1).显示新闻类别链接 default.aspx 将新闻按照分类显示,每个新闻类别只显示最新的 4 条新闻。如果新 闻类别较多,则网页会被拉长,给用户阅读带来不便。为了解决这个问题,使用标签 来定义新闻类别的位置,标签格式为下面 的代码将在网页中生成所有新闻类别的链接,每个链接都指相应新闻类别的标签。这 样,用户就可以通过单击链接直达新闻类别了。 dataset sortds = b_bc.getbigclass(); string conten
53、t = ; for (int i = 0; i sortds.tables0.defaultview.count; i+) content = content + ; content = content + + sortds.tables0.rowsi1.tostring() + ; sort.text = content; (2) “新闻管理”链接 更多论文 http:/ 24 系统管理员 tyh 可以通过“进入管理”链接进入新闻管理页面 admin_login.aspx 相应代码为 进入管理 (3)显示各新闻类别中的 4 条新闻 default.aspx 的主要内容是显示新闻类别中的最新
54、8 条新闻及各新闻类别下的 4 条新 闻,在这里用到了 repeater 服务器控件,repeater 服务器控件是一个数据绑定容器控 件,用于生成各个项的列表。 6.2 登录程序设计 在对系统进行管理之前,需要通过系统的身份认证。本系统中使用 admin_login.aspx 进行身份验证。对于需要登陆才能察看的网页可以在网页的 cs 代码 中加上如下代码: if (sessionadmin = null) response.redirect(admin_login.aspx); 这样用户没有登录将看到如下界面,见图 7: 图 7 管理员用户登录界面 在这里只有管理员用户才能登录后台管理页面
55、,非管理员用户可直接在前台页面 登录。 更多论文 http:/ 25 7 后台管理主界面 管理界面的功能是对新闻类别和新闻提供管理界面,只有有权限的用户才能进入 管理界面。本节将介绍管理界面 admin_index.aspx 的实现方法。录入新闻类别和新闻 内容后,admin_index.aspx 的界面见图 8 所示。 图 8 后台管理主界面 admin_index.aspx admin_index.aspx 页面运用了 html 语言中的框架,在这个页面中其实包含了四个 页面,分别为 admin_top.aspx、admin_left.aspx、admin_bottom.aspx、及后台管
56、理的初 始页面 default.aspx ,admin_top.aspx 和 admin_bottom.aspx 主要是实现的是对页面顶 端和底部的 设置,admin_left.aspx 实现的是后台管理系统菜单。 实现其框架主要的代码为: 更多论文 http:/ 26 8 新闻管理模块设计 新闻类别管理模块可以实现以下功能: (1)管理现有新闻 (2)添加新的新闻内容; (3)审核最新新闻 (4)新闻评论管理. 8.1 管理现有新闻 打开管理现有新闻界面,见图 9 所示。 图 9 管理现有新闻界面 主要运用到了gridview这个服务器控件,gridview 控件可公开分页事件和排序事 件,
57、以及在创建当前行或将当前行绑定至数据时发生的事件。其相应的html代码为: 8.1.1 修改新闻 点击相应新闻的修改按钮,出现如下的修改界面,见图 10: 更多论文 http:/ 27 图10 修改新闻界面 对于新闻内容的编辑,这里我主要是用到了一个外部的编辑器freetextbox,将它 引用到工具箱,可以作为服务器控件使用。相关代码如下: 8.1.2删除新闻 删除功能很简单,点击删除按钮,直接删除新闻,而且会将新闻从数据库中删除。 8.2添加新闻 添加新闻界面与修改新闻界面很相似,不同的是修改新闻时会将已有新闻的标题, 类别,内容获取到,在此基础上修改,而添加新闻则全是空白的,需自己手动添
58、加。 8.3 审核最新新闻 更多论文 http:/ 28 新闻添加到数据库以后,并不是立即在前台界面显示,而是要经过具有管理员权 限的用户审核后才能在前台显示。审核界面如下,见图11: 图11 审核最新新闻界面 点击审核按钮,既可对新闻审核。 8.4 新闻评论管理 评论管理可以进行如下一些操作:按新闻编号查询相应评论、删除选中的评论、 删除单条新闻的全部评论,界面如下,见图 12: 图 12 新闻评论管理页面 对于新闻评论的绑定,主要运用的也是 gridview 控件,相应代码为: 更多论文 http:/ 29 asp:templatefield headertext=评论编号 asp:lab
59、el id=label5 runat=server text= asp:label id=label2 runat=server text= asp:label id=label1 runat=server text= asp:label id=label3 runat=server text= asp:label id=label4 runat=server text= 9 类别管理模块设计 9.1 设计新闻类别管理页面 类别管理模块主要对新闻类别进行管理,主要功能有:修改已有类别属性、修改 更多论文 http:/ 30 已有的新闻类别、删除类别、添加新的新闻类别。界面如下,见图 13: 图
60、 13 管理新闻类别界面 10 用户管理模块设计 10.1 管理系统用户 用户管理模块只有拥有管理员权限的用户才能进入,进入后可进行如下操作:修 改用户信息、删除用户、添加新的用户、用户权限分配。 界面如下,见图 14: 更多论文 http:/ 31 图 14 系统用户管理界面 11 系统运行 本系统可在 windows 9x/xp/server 2000/2003 下运行,在非服务器下运行,需要装 相应的服务器,在这里由于我的电脑装的 xp 的系统,所以我装的服务器是 iis. 11.1 安装 iis 服务器程序 步骤:放入光盘,点击控制面板-添加或删除程序-添加或删除 windows 组件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年地质勘探钻探劳务合作协议
- 2024年中英货物运输与保险协议
- 2024年城市中心商业地产买卖协议
- 2024年员工信息与商业秘密共存保密协议
- 2024年二手住宅居间买卖协议
- 2024年公共设施二次消防改造协议书
- 2024年二次离婚子女抚养权协议
- 文化产业战略合作框架协议书
- 非标切削刀具课程设计
- 课程设计幼儿英语怎么说
- 流程定义110工废料废处理
- 江苏省质量通病防治手册
- 项目安全风险抵押金管理办法
- 沪教牛津版八年级上册初二英语期中测试卷
- 外科学教案-急性化脓性腹膜炎
- 国际贸易理论与实务ppt课件(完整版)
- ICU常用的评估工具(疼痛、镇静、谵妄)
- 国际酒店前厅管理手册前台接待14-01 外币兑换Foreign Exchange
- 如何利用记账改善你企业
- 校本课程——中外名著阅读
- 第2章现金流量与资金的时间价值
评论
0/150
提交评论