基于.NET的新闻发布系统的设计与实现

上传人:仙*** 文档编号:132481828 上传时间:2022-08-08 格式:DOC 页数:40 大小:409KB
收藏 版权申诉 举报 下载
基于.NET的新闻发布系统的设计与实现_第1页
第1页 / 共40页
基于.NET的新闻发布系统的设计与实现_第2页
第2页 / 共40页
基于.NET的新闻发布系统的设计与实现_第3页
第3页 / 共40页
资源描述:

《基于.NET的新闻发布系统的设计与实现》由会员分享,可在线阅读,更多相关《基于.NET的新闻发布系统的设计与实现(40页珍藏版)》请在装配图网上搜索。

1、 毕业论文(设计)题 目:基于ASP.NET的新闻发布系统的设计与实现 所 在 系: 计算机科学系 专 业: 计算机科学与技术 基于的新闻发布系统的设计与实现摘 要 随着信息时代的高速发展,传统的报纸杂志已经远远满足不了人们的需求,人们更加希望于能够在网上了解更多的新闻和信息,于是我们就很有必要在网上创建一个新闻发布管理信息系统了。大部分网站都是采用静态的方式来发布和管理信息的,可是网站需要更新的信息量也越来越大,所以这很不利于网站管理人员的工作。为了更加方便的管理网站,于是我们就很迫切的需要利用动态技术创建一个新闻发布管理信息系统了。本设计采用Microsoft Studio 2008作为开

2、发工具,后台数据库采用Sql Server 2005数据库的设计,利用ADO.NET数据访问技术实现对数据库的各种管理操作,实现新闻发布系统的浏览和新闻搜索等功能,系统模块设计包括系统类的设计、前台用户模块的设计和后台用户管理模块的设计。由于要对数据库进行不断的读写操作,所以建立数据连接类和对数据的操作类会使设计减轻负担,还根据数据库的设计建立了各种对象的业务相关类。前台用户模块主要是实现新闻的浏览、对新闻进行评论、用户注册等功能;后台管理模块主要是实现管理现有新闻、 添加新闻内容、审核最新新闻、新闻评论管理、管理新闻类别、管理系统用户等功能。关键词 ;C#;SQL Server;新闻管理目

3、录1 绪论11.1 新闻发布系统概述1 国内外新闻发布系统研究现状11.3 开发工具选用及介绍12 基于.NET平台的相关技术22.1 .NET简介2 Sql Server 2005 数据库的新特点22.3 数据访问技术3三层结构4的新特性53 系统分析与总体设计63.1 系统功能模块划分63.2 系统流程分析84 数据库结构设计与实现9 创建数据库9 数据库逻辑结构设计94.3 创建表的脚本文件125 数据访问类的实现、母版及用户控件14 数据访问类的实现14 母版21 用户控件226系统主界面与登录程序设计226.1 设计主界面226.2 登录程序设计237 后台管理主界面248 新闻管理

4、模块设计258.1 管理现有新闻25修改新闻26删除新闻27 添加新闻278.3 审核最新新闻27 新闻评论管理289 类别管理模块设计299.1 设计新闻类别管理页面2910 用户管理模块设计3010.1 管理系统用户3011系统运行31 安装IIS服务器程序31结论33致谢34参考文献351 绪论1.1 新闻发布系统概述新闻发布系统(News Management System)又称为信息发布系统,是一个利用计算机网络为平台构建的新闻发布体系,它将网站上的新闻发布等重要信息集中管理,并通过信息的某些性质进行分类,最后系统化,标准化的发布到网站上的一种网站应用程序,网站信息通过一个简单的界面

5、加入数据,然后通过已有的网页模版格式与审核流程发布到网站上。它的出现大大减轻了网站更新维护的工作量,通过网络数据库的引用,将网站的更新维护工作简化到只需录入文字和上传图片,从而使网站的更新的速度大大缩短,从而大大加快了信息的传播速度。1.2 国内外新闻发布系统研究现状目前,新闻发布系统的开发技术已经十分成熟,用到的技术有很多,比方ASP技术,php技术,jsp技术,.net技术等,成熟的新闻发布系统有很多,如著名的V7 Content Mangement Suite(西门子公司采用的系统),Interwoven-TeamSite(Cisco 采用的系统)以及开源的产品也得到广泛的应用,如Ope

6、nCMS,Zope-Content Management Framework等。1.3 开发工具选用及介绍传统的新闻发布系统主要有两种,一是静态HTML页面,更新信息时需要重新制作页面后上传,同时还要修改相应的链接,这种方式因效率太低已不多用。二是基于ASP和脚本语言,将动态网页和数据库相结合,通过应用程序来处理新闻,这是目前较流行的做法,但是由于ASP本身的局限性是的系统有一些不可克服的缺陷,而采用技术,在系统性能上就有了很大的提高,主要体现在一下几个方面:(1)页面不同于ASP页面,它只需要一次编译不需要重新编译,直到该页面被重新修改或WEB程序重新启动为止,使得多次访问速度有了极大的提升

7、。(2)支持应用程序的实时更新。管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。(3)采取“code-behind”方式编写代码,使系统更易于编写,结构更清晰,降低了系统的开发与维护的复杂度和费用。基于的优点,所以我选择了Visual Stiduo 2008作为开发工具,并结合Sql Server 2005作为后台数据库。同时用Macromedia Dreamweaver MX 2004进行页面的设计。2 基于.NET平台的相关技术2.1 .NET简介是一个用于构建、运行和体验下一代分布式应用程序的平台,它是跨客户端、跨服务器的开发工具。它由以下几个部分组成:(1).

8、NET 框架编程模型,借助它开发人员能够构建WEB应用程序、智能客户端应用程序和XML Web Service 应用程序,并利用诸如SOAP、XML和HTTP标准协议以编程方式通过网络开放其功能。(2)开发工具,比如,该工具为用户在.ET框架下进行编程提供了一个迅速开发应用程序的集成环境。(3)一组服务器,包括Windows 2000、SQL Server和BizTalk Server,可集成、运行、操作和管理XML Web服务和应用程序。(4)客户端软件,比如Windows XP、Windows CE和Microsoft Office XP.2.2 Sql Server 2005 数据库的新

9、特点随着Mierosotf SQL Sevrer 2005 BeatZ的发布,数据库开发的方式正在改变中。数据库开发工作正前所未有的越来越集成,所需要的所有工具都触手可及。(1)NET Framewokr集成随着Mciorostf SQL Sevrer 2005 Beat2的发布,数据库编程人员现在可以充分利用Mciorosfl.NET Framewokr类库和现代编程语言来开发数据库应用。通过集成的CLR,你可以用.NET Framework language里的Visual B和C#中面向对象的结构、结构化的错误处理、数组、命名空间和类来编写存储过程、函数和触发器。此外,.NET Fram

10、ework所提供的几千个类和方法也扩展了服务器功能,使你能够更容易的在服务器端使用。许多之前我们用T一SQL难以实现的任务现在可以更容易的用托管代码实现。同时,系统还新增了两个数据库对象类型:聚合和用户自定义类型。你现在能够更好的利用己掌握的知识和技能编写in一proeess代码。总之,SQL Sevrer 2005 Beta2能够使你的数据库服务器更方便地在后台执行适当的计算和操作。(2)XML技术XML己经成为一种存储和交换数据的通用格式,是那些带标记的、结构化或半结构化信息的常用选择,如:文本(带有标示文档结构和重点的标记),嵌套对象(结构化的),异类数据(半结构化的)。XML也是一种用

11、来在网络上不同应用程序间散布数据的重要的、被广为接受的标准。Mierosotf SQL Sevrer2005支持通过Mierosotf SQL XML来使用XML,它允许把关系型数据转换为XML,把XML数据存在关系型表中。Microsoft SQL Sverer 2005 Beta2通过把XML作为一类数据类型来实现这一功能,此外,它还提供了针对XML文档的新的查询语句和定位修改。(3)新的应用程序框架SQL Sevrer 2005引入了新的SQL Sevrer应用程序框:SevrieeBorker。SevrcieBorker是一个分布式应用程序框架,它在数据库到数据库级上提供了可靠的异步通

12、讯。2.3 数据访问技术是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议。一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过.NET的类库来进行连接。 提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为Data Providers,并且通常是以与之交互的

13、协议和数据源的类型来命名的。AD包含的对象: SqlConnection 对象 和数据库交互,你必须连接它。连接帮助指明数据库服务器、数据库名字、用户名、密码,和连接数据库所需要的其它参数。connection对象会被command对象使用,这样就能够知道是在哪个数据库上面执行命令。与数据库交互的过程意味着你必须指明想要发生的操作。这是依靠command对象执行的。你使用command对象来发送SQL语句给数据库。command对象使用connection对象来指出与哪个数据库进行连接。你能够单独使用command对象来直接执行命令,或者将一个command对象的引用传递给SqlDataAda

14、pter,它保存了一组能够操作下面描述的一组数据的命令。 sqlDataReader对象 许多数据操作要求你只是读取一串数据。data reader对象允许你获得从command对象的SELECT语句得到的结果。考虑性能的因素,从data reader返回的数据都是快速的且只是“向前”的数据流。这意味着你只能按照一定的顺序从数据流中取出数据。这对于速度来说是有好处的,但是如果你需要操作数据,更好的办法是使用DataSet。 DataSet对象 DataSet对象是数据在内存中的表示形式。它包括多个DataTable对象,而DataTable包含列和行,就象一个普通的数据库中的表。你甚至能够定义

15、表之间的关系来创建主从关系(parent-child relationships)。DataSet是在特定的场景下使用帮助管理内存中的数据并支持对数据的断开操作的。DataSet是被所有Data Providers使用的对象,因此它并不像Data Provider一样需要特别的前缀。 SqlDataAdapter对象 某些时候你使用的数据主要是只读的,并且你很少需要将其改变至底层的数据源。同样一些情况要求在内存中缓存数据,以此来减少并不改变的数据被数据库调用的次数。Data adapter通过断开模型来帮助你方便的完成对以上情况的处理。当在一单批次的对数据库的读写操作的持续的改变返回至数据库的

16、时候,Data adapter 填充(fill)DataSet对象。data adapter包含对连接对象以及当对数据库进行读取或者写入的时候自动的打开或者关闭连接的引用。另外,data adapter包含对数SELECT,INSERT,UPDATE和DELETE操作的COMMAND对象引用。2.4 三层结构所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,见图1: 图1 三层结构模拟图即使这三个层放置到一台机器上。三层体系的应用程

17、序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。可以使用.NET平台快速方便的部署三层架构。革命性的变化是在网页中也使用基于事件的处理,可以指定处理的后台代码文件,可以使用C#,VB,J#作为后台代码的语言。.NET中可以方便的实现组件的装配,后台代码通过命名控件可以方便的使用自己定义的组件。显示层放在ASP.NET页面中,数据库操作和逻辑层用组件来实现,这样就很方便的实现了三层架构。所以,N层架构的核心是提供可规模化特性,一方面是从服务负载上可规模化,能同时为极

18、大规模的用户同时提供服务;另一方面是服务功能上的可规模化,可形成极大规模的软件群系统,各分系统可以共享信息、服务,形成企业级的信息高速公路。三层可以分别放在各自不同的硬件系统上的,所以灵活性很高,能够适应客户机数目的增加和处理负荷的变动。例如,在追加新业务处理时,可以相应增加装载功能层的服务器。因此,系统规模越大这种形态的优点就越显著。另外,N层结构从逻辑上相互独立,某一层的变动通常不影响其它层,具有很高的可重用性,除此以外,N层结构还有以下优点:.利用单一的访问点,可以在任何地方访问站点的数据库;.对于各种信息源,不论是文本还是图形都采用相同的界面;.所有的信息,不论其基于何种平台,都可以用

19、相同的界面访问;.减少整个系统的成本;.维护升级十分方便;.使系统具有更好的扩展性;.具有良好的开放性;.进行严密的安全管理;.系统管理简单,可支持异种数据库,有很高的可用性。2.5 CC平台开发的语言,在的基础上添加了泛型、匿名方法、迭代器、委托类型以及其他诸多新特性。(1).在C中,泛型、匿名方法、IEnumerable接口和匿名方法的合作,使很多的编程任务变得非常的简单。(2).迭代器与泛型有着本质上的不同,泛型是相对1.x微软在LI上面又添加了一些指令来实现。而迭代器则是在编译器这个层次去实现的,也就是说C#2,0中的迭代器的特性并没有靠引入LI来实现。类似foreach(srting

20、s int c)这样的调用方式,一般就是一个迭代器,使用中的迭代器会使用代码变得很简单。(3).deelgaet经常被人用来与回调相比较,其实两者在某种程度上由很多共同点。不过delgeate有很多更加强大的地方。首先,delgeaet中可以注册任意多个回调,在一个delgeate被调用的时候,己经注册的过程将会被逐个调用。其次,delgeate允许注册一个对象的方法,而不像C+中指可以使用静态方法或者全局方法作为函数指针,提供了更多的灵活性,同时也暗示我们,delgeate中按照某种方式保存了。在的匿名delgeate中,我们甚至可以访问当前匿名delgeate的上下文变量。3 系统分析与总

21、体设计很多网站都提供新闻栏目,例如搜狐、新浪等著名网站的新闻专栏。许多企业和个人网站也需要定期发布一些关于企业或网站的新闻。因为网络中新闻发布的频率非常高,如果使用静态网页作为新闻页面,则维护工作将非常繁琐,管理员每天需要制作大量的网页,从而浪费很多时间和精力。使用新闻发布及管理系统可以使新闻发布和管理变得很轻松,管理员只需设置标题、内容和图片等新闻就可以了,系统将自动生成对应的网页。本文将对新闻发布及管理系统进行系统分析与总体设计。3.1 系统功能模块划分从功能描述的内容可以看到,本系统可以实现6个完整的功能。我们根据这些功能,设计出系统的功能模块,见图2:新闻发布系统新闻类别管理新闻管理模

22、块新闻查询模块评论管理模块系统用户管理图2 新闻发布系统功能模块示意图新闻发布及管理系统的功能模块之间的关系见图3所示。后台系统 提供数据新闻类别管理前台系统数据库基本信息发布新闻查询管理浏览新闻发表网友评论图3新闻发布系统的功能模块关系图本系统在初始化时,有一个默认的“管理员”用户tyh,由程序设计人员手动地添加到数据库中。tyh用户可以创建用户、修改、删除用户信息、给用户设置权限;权限有两种,一个是管理员,另一个是普通用户,普通用户只能修改自己的用户信息,发布新闻,且不能登录后台管理系统。用户管理功能模块的关系见图4所示。系统用户信息管理修改tyh用户的密码创建、修改、删除普通用户信息修改

23、自身的信息,发布新闻tyh用户普通用户图4 用户管理功能模块的关系图3.2系统流程分析多用户系统的工作流程都是从用户登录模块开始,对用户的身份进行认证。身份认证可以分为以下两个过程:(1)确认用户是否是有效的系统用户。(2)确定用户的类型。第1个过程决定用户能否进入系统。第2个过程根据用户的类型决定用户的操作权限,从而决定用户的工作界面。本系统分为前台系统和后台系统两个部分。前台系统不需要进行身份认证,任何人都可以通过浏览器阅读已经发布的新闻、发表网友评论。后台管理的流程分析见图5所示。tyh用户拥有所有的权限,普通用户只能发布自己的新闻,修改自己的信息。管理页面首页用户登录失败报错管理所有用

24、户的信息管理新闻类别,发布信息,所有新闻信息的管理管理自己的信息发布新闻。tyh普通用户图5 新闻发布系统后台管理流程分析4 数据库结构设计与实现创建数据库首先创建一个数据库news2005,用来保存本系统的所有数据。创建数据库的脚本代码如下:CREATE DATABASE news2005GO可以在SQL查询分析器中执行该语句,创建数据库。 数据库逻辑结构设计本系统定义的数据库中包含以下4个表:新闻类别表:BigClass、新闻基本信息表:news、评论信息表:answer和用户信息表:admin。下面分别介绍这些表的结构。(1)新闻类别表BigClass新闻类别表BigClass用来保存新

25、闻类别数据,结构见表1所示。表1 新闻类别表BigClass的结构编号字段名称数据结构说明1idint新闻类别编号2namevarchar (50)新闻类别名称3flagchar(10)是否显示分类标记4cindexint新闻系统新闻的总条数5newscount int当前类别新闻数目在设计数据库结构时,很多表都需要设计一个整型字段作为标识列,这几乎已经成为惯例,例如表BigClass中的id字段。所谓标识列,就是可以惟一标识一行记录的列,在表中不会存在两条标识列相同的记录。如果其他表需要引用表BigClass中的数据,则在表中添加一个id字段就可以了。在系统中,id字段对于用户来说是透明的,

26、用户感觉不到它的存在,也无法对其进行修改。(2)基本新闻表news基本新闻表news用来保存网上新闻的基本信息,结构见表2所示。表2 新闻表news的结构编号字段名称数据结构 说明1idint新闻编号2titlevarchar(50)新闻标题3Infotext新闻内容4BigClassIDvarchar(50)栏目ID5usernamevarchar(50)发布人6infotimedatetime 发布时间7 hits int点击率8flagvarchar(50) 是否通过审核9cindexint新闻总数在SQLServer2005中,可以使用char、varchar和text等3种数据类型存

27、储非Unicode字符数据。char和varchar只能存储最多8000个字符,其中char用于存储固定长度的字符数据,varchar用于存储可变长度的字符数据。如果需要存储的数据很大,则可以使用text数据类型,text数据类型也是可变长度的,最多可为2147483647个字符。(3)评论信息表answer评论信息表answer用来保存网友对新闻的评论信息,结构见表3所示。表3评论信息表answer的结构编号字段名称数据结构说明1A_idint评论编号2A_qqvarchar(50)评论人qq3A_emailvarchar(50)评论人email4A_word varchar(200)评论内

28、容5A_timedatetime评论时间6newsIDint评论的新闻ID7cindexint评论数目在SQLServer2005中,可以使用datetime和smalldatetime两种数据类型存储日期时间数据。datetime数据类型用于存储从1753年1月1日到9999年12月31日的日期和时间数据,精确到333ms;smalldatetime数据类型用于存储从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟。(4)用户信息表admin用户信息表admin用来保存用户的基本信息,结构见表4所示。表4 用户信息表admin的结构编号字段名称数据结构说明1cidint用户

29、ID号。2usernamevarchar(50)用户名3passwordvarcahr(50)密码4emailvarchar(50)用户邮箱5aleavevarchar(50)用户权限4.3 创建表的脚本文件本节将介绍创建表的脚本文件,可以在“查询分析器”中执行这些脚本,在数据库news中创建表。(1)创建表BigClass创建表BigClass的脚本文件为BigClass.sql,它的代码如下:USE news2005GOCREATE TABLE BigClass( id Int IDENTITY PRIMARY KEY, name Varchar(50) cindex int , news

30、count int ,)GO在使用CREATE TABLE指令创建表时,应该注意使用PRIMARY KEY关键字定义表的主键。表中每一行的主键都有惟一值,可以使用主键惟一地标识一行数据。(2)创建表news创建表news的脚本文件为n,它的代码如下:USE news2005GOCREATE TABLE News(id Int IDENTITY PRIMARY KEY,title Varchar(50) ,info Text,BigClassID Varchar(50),username Varchar(50),infotime datetime,hits Int ,flag Int DEFAU

31、LT 0cindex Int)GO在使用CREATE TABLE指令创建表时,应该注意使用NOT NULL关键字定义表的未空字段。使用NOT NULL定义的字段将不允许为空,这样就可以避免表中出现无效的数据,影响系统运行。在使用CREATE TABLE指令创建表时,使用DEFAULT关键字可以字义字段的默认值,例如表news中,flag字段的默认值为0。(3)创建表answer创建表answer的脚本文件为answer.sql,它的代码如下:USE news2005GOCREATE TABLE answer ( A_id Int IDENTITY PRIMARY KEY, A_user Var

32、char(50), A_qq Varchar(50), A_emailVarchar(50),A_wordVarchar(200),A_time datetime,newsID int,cindex int, )GO在使用CREATE TABLE指令创建表时,通常可以使用IDENTITY关键字与PRIMARY KEY关键字相结合,创建标识字段。每次增加新记录时,标识字段自动递增。程序员在编写程序的过程申,无需考虑标识字段的值。(4)创建表admin创建表admin的脚本文件为admin.sql,它的代码如下:USE news2005GOCREATE TABLE admin( cid Int P

33、rimary Key IDENTITY, username Varchar(50) NOT NULL, password Varchar(50) NOT NULL, email Varchar(50),aleave Varchar(50) NOT NULL)GOINSERT INTO admin (username, password, email) VALUES(Admin, admin, , )GO在创建表admin的同时,将默认的用户tyh插入到表中,默认的密码为“11”。在执行这些脚本之前,请确定数据库news2005已经存在,否则会产生错误。如果要创建的表已经存在,则需要先将表删除。

34、5 数据访问类的实现、母版及用户控件数据访问类的实现为访问数据库提供了丰富的类库,如,这些类库在系统开发中被频繁地使用。本系统选用的是SQL Server 2005数据库,所有的数据都保存在数据库表中。对SQL数据库的访问可以使用一个封装的SQL数据库访问类,这样可以提高程序的可读性,提高效率。下面定义一个名字空间通用类库DataBaase,在其中封装了对SQL数据库的访问方法。 using System;using System.Data;using System.Data.SqlClient;using System.Configuration;using System.Web;/ DBb

35、ase 的摘要说明public class DBbase 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

36、(); #endregion #region 实例化连接对象con / 实例化连接对象con SqlConnection con = new SqlConnection(strCon); #endregion #region 检测连接是否打开 / 检测连接的方法CheckConnection(),若连接是关闭的则打开SqlConnection连接 public void CheckConnection() if (this.con.State = ConnectionState.Closed) this.con.Open(); #endregion #region 执行语句返回DataSet数

37、据集 / / 执行语句返回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(); #

38、endregion #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 Except

39、ion(ex.Message); finally con.Close(); #endregion #region 执行SQL语句或存储过程的方法ExecuteNonQuery() / 执行存储过程或SQL语句的方法ExecuteNonQuery(),执行成功返回true,否则返回false / 为true是执行存储过程,false执行SQL语句 / 要执行的SQL语句 / 执行成功返回true,否则返回false public bool ExecuteNonQuery(bool IsPro, string strSQL) CheckConnection(); try SqlCommand co

40、m = 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() / 执行SQL语句的方法ExecuteNonQuer

41、y() / 要执行的SQL语句 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的方法 / 执行语句返回DataTable的方法 / 要执行的SQL语句 / 返

42、回DataTable对象 public DataTable ReturnTable(string strSQL) CheckConnection(); try SqlDataAdapter sda = new SqlDataAdapter(strSQL, con); DataSet ds = new DataSet(); sda.Fill(ds); return ds.Tables0; catch (Exception ex) throw new Exception(ex.Message); finally con.Close(); #endregion #region 执行语句返回SqlDa

43、taReader对象 / 执行语句返回SqlDataReader对象 / 待执行的语句 / SqlDataReader对象 public SqlDataReader ReturnDataReader(string strSQL) CheckConnection(); try SqlCommand com = new SqlCommand(strSQL, con); SqlDataReader myReader = com.ExecuteReader(); return myReader; catch (Exception ex) throw new Exception(ex.Message);

44、 finally #endregion #region 执行语句,返回该语句查询出的数据行的总数 / 执行语句,返回该语句查询出的数据行的总数 / 要执行的SQL语句 / 整型值数据总行数 public int ReturnRowCount(string strSQL) CheckConnection(); try SqlDataAdapter da = new SqlDataAdapter(strSQL, con); DataSet ds = new DataSet(); da.Fill(ds); return ds.Tables0.Rows.Count; catch return 0; #

45、endregion这里只是一个通用数据类库的设计实现,对于数据库中其他表的操作,由于页面有限,就不一一说明,要实现其他数据库的操作,只要也定义相应的类及属性,再调用通用数据库中的方法既可实现。我们在网上浏览网页的时候,一个网站的很多内容往往是不变的,比如导航条、用户注册等,本系统同用也包含一些不变的模块,实现这些模块,我主要用到了母版和用户控件。母版页可以为应用程序中的页创建一致的布局。单个母版页可以为应用程序中的所有页(或一组页)定义所需的外观和标准行为。然后可以创建包含要显示的内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并以将母版页的布局与内容页的内容组合在一起输出。用户控件

46、是一种复合控件,工作原理非常类似于 ASP.NET 网页,可以向用户控件添加现有的 Web 服务器控件和标记,并定义控件的属性和方法。然后可以将控件嵌入 网页中充当一个单元。6系统主界面与登录程序设计 设计主界面x,它套用母版页后,主要功能是显示最新的8条新闻、新闻类别及每个类别中的4条新闻。录入新闻类别和新闻内容后,x的界面见图6所示。图6 新闻主页x的界面 (1).显示新闻类别链接 defax将新闻按照分类显示,每个新闻类别只显示最新的4条新闻。如果新闻类别较多,则网页会被拉长,给用户阅读带来不便。为了解决这个问题,使用标签来定义新闻类别的位置,标签格式为下面的代码将在网页中生成所有新闻类

47、别的链接,每个链接都指相应新闻类别的标签。这样,用户就可以通过单击链接直达新闻类别了。 DataSet sortDS = B_bc.GetBigClass(); string content = ; for (int i = 0; i sortDS.Tables0.DefaultView.Count; i+) content = content + ; content = content + + sortDS.Tables0.Rowsi1.ToString() + ; sort.Text = content;(2)“新闻管理”链接系统管理员tyh可以通过“进入管理”链接进入新闻管理页面 相应代

48、码为 进入管理(3)显示各新闻类别中的4条新闻 dx的主要内容是显示新闻类别中的最新8条新闻及各新闻类别下的4条新闻,在这里用到了Repeater服务器控件,Repeater 服务器控件是一个数据绑定容器控件,用于生成各个项的列表。 登录程序设计在对系统进行管理之前,需要通过系统的身份认证。本系统中使用进行身份验证。对于需要登陆才能察看的网页可以在网页的cs代码中加上如下代码: if (Sessionadmin = null) Response.Redirect(Admin_Login.aspx); 这样用户没有登录将看到如下界面,见图7:图7 管理员用户登录界面在这里只有管理员用户才能登录后

49、台管理页面,非管理员用户可直接在前台页面登录。7 后台管理主界面管理界面的功能是对新闻类别和新闻提供管理界面,只有有权限的用户才能进入管理界面。本节将介绍管理界面的实现方法。录入新闻类别和新闻内容后,的界面见图8所示。图8 后台管理主界面 页面运用了html语言中的框架,在这个页面中其实包含了四个页面,分别为、及后台管理的初始页面Default.aspx ,和主要是实现的是对页面顶端和底部的 设置, 实现的是后台管理系统菜单。实现其框架主要的代码为:8 新闻管理模块设计新闻类别管理模块可以实现以下功能:(1)管理现有新闻(2)添加新的新闻内容;(3)审核最新新闻(4)新闻评论管理. 管理现有新

50、闻打开管理现有新闻界面,见图9所示。图9 管理现有新闻界面主要运用到了GridView这个服务器控件,GridView 控件可公开分页事件和排序事件,以及在创建当前行或将当前行绑定至数据时发生的事件。其相应的html代码为: 修改新闻点击相应新闻的修改按钮,出现如下的修改界面,见图10:图10 修改新闻界面对于新闻内容的编辑,这里我主要是用到了一个外部的编辑器FreeTextBox,将它引用到工具箱,可以作为服务器控件使用。相关代码如下: 删除新闻删除功能很简单,点击删除按钮,直接删除新闻,而且会将新闻从数据库中删除。添加新闻界面与修改新闻界面很相似,不同的是修改新闻时会将已有新闻的标题,类别,内容获取到,在此基础上修改,而添加新闻则全是空白的,需自己手动添加。8.3 审核最新新闻新闻添加到数据库以后,并不是立即在前台界面显示,而是要经过具有管理员权限的用户审核后才能在前台显示。审核界面如下,见图11:图11 审核最新新闻界面点击审核按钮,既可对新闻审核。8.4新闻评论管理评论管理可以进行如下一些操作:按新闻编号查询相应评论、删除选中的评论、删除单条新闻的全部评论,界面如下,见图12:图12 新闻评论管理页面对于新闻评论的绑定,主要运用的也是GridView控件,相应代码为:ItemTemp

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!