资源描述
在线课件管理系统的设计与实现【摘要】在资讯和信息越来越重要的时代,精彩的网络在悄悄改变着人们的工作、生活和学习的理念。互联网成为人们快速获取、发布和传递信息的重要渠道。网络上发布信息主要是通过网站来实现的,获取信息也是要在网络中按照一定的检索方式将所需要的信息从网站上下载下来。本设计所开发的在线课件管理系统,能为同学们提供一个更加方便分享课件的平台,达到让同学们能随时掌握课件的更新和分享情况,从而使得同学们能更快掌握课件信息。这次的毕业设计使用了微软ASP.NET的来实现网站,网站后台的编程语言是C#.NET来实现功能的,同时也使用到微软的SQL2008数据库实现数据的保存功能。希望这样能提高网站的工作的效率。【关键词】在线;互联网;课件管理系统Design and Realization of On-line Courseware Management System 【Abstract】In modern society, information become more and more important. Students and teachers are all sharing the courseware through Internet. This paper use ASP.NET, C#.NET and SQL 2008 to make a On-line Courseware Management System. It can receive the teachers materials which can be downloaded by the students.【Keywords】 On-line, Internet, Courseware Management System 享有工作室-为您提供最优秀的计算机毕业设计论文解决方案 客服QQ:810354974/844511071/465729264目 录第一章 引 言11.1在线课件管理系统开发简介11.2 本课题的研究意义31.3主要研究工作4第二章 基础知识介绍52.1 ASP.NET概述52.1.1 ASP.NET的主要功能与特点62.1.1.1 Web服务器控件简介62.1.1.2 HTML服务器控件72.1.1.3 ASP.NET标准服务器控件72.2 C#.NET概述92.2.1 C#.NET的主要功能与特点102.2.2 查询数据库举例122.3 数据库技术152.3.1 数据库简介152.3.2 SQL Server 2008数据库的常用命令152.4 IIS的配置172.4.1 IIS概述172.4.2 IIS简单配置172.5 本章小结19第三章 具体设计203.1 总体设计思路203.1.1 具体设计思路203.1.2 网站的连接结构223.2 用户管理233.3 网站结构设计233.3.1 系统功能分析与设计233.3.2 数据库结构设计243.4 本章小结25第四章 网站设计的实现274.1 动态网页各部分的实现274.2 网页中的ASPX代码274.3 本章小结47第五章 性能测试与分析485.1 启动在线课件管理系统485.2 运行各个模块进行调试485.3 对调试结果进行分析48结 论53致 谢54参考文献55第一章 引 言本世纪是信息时代,高等教育更是信息时代的担当者。校园的网络信息化建设已基本实现从服务器、网络等硬件环境,辐射教学、管理等应用软件系统和网站。高等学校网络化的建设是十分必要的一项工作,目的是通过建设校园网络,把网络资源切实有效的应用到教育教学中,提高教学效率和数学效果。学校网络的使用,改变了教师的教学方式,也改变了学生的学习方式。充分利用网络资源条件,使其更好地为教学服务。同时随着社会经济和Web技术的发展,人们不再满足于仅能浏览信息的静态网页,更多的时候需要能与同时上网的互联网用户进行交流和发表自己的意见见解,这样,能提供后台数据库的管理和控制等服务的动态网站有了诞生的必要。近年来,随着互联网在中国的迅速发展,这一利用网络信息进行交流资料和信息的方式得到迅速发展。在校园中通过网络的信息技术,可以使教育教学资源自由共享,优化教育教学方式,同时还可以培养和提高学生获取各种信息的素养,这样可以信息化网络校园环境,从而达到实现教育信息化,这是信息时代学习方式改变的新理念。 在线课件管理系统在一定的程度上可以实现老师学习资料与同学的同步,不论是学生是否在校园,在任何时间只要可以上网就可以的到老师的第一手学习资料。网站通过不同成员的登录,也同样可以很好的规范课件管理和存储,使得课件的管理有条不紊,同学们也能准确地找到所需,还能降低教师的工作量,提高同学们的学习效率,优化了学习环境。1.1在线课件管理系统开发简介ASP.NET是一种动态网站开发的应用程序,是微软公司推出的一种全新的基于B/S模型的技术,并有集成Visual Studio 2010的支持。ASP.net是把基于通用语言的程序在服务器上运行。不像以前的ASP即时解释程序,而是将程序在服务器端首次运行时进行编译,这样的执行效果,当然比一条一条的解释强很多。因为ASP.NET是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.NET的Web应用中。ASP.NET同时也是 language-independent语言独立化的,所以,使用者可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经 支持的有C#(C+和Java的结合体),VB,Jscript。将来这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向ASP.NET的平台下。应为这次的网站后台程序是用C#.NET来开发的,所以以下对C#.NET进行简介。C#.NET使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。这种被称为Zero Local Administration的哲学观念使C#.NET的基于应用的开发更加具体,和快捷。一个C#.NET的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须得文件,不需要系统的重新启动,一切就是这么简单。多处理器环境的可靠性 C#.NET已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度。即使你现在的C#.NET应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP确做不到这一点。自定义性和可扩展性 C#.NET设计时考虑了让网站开发人员可以在自己的代码中自己定义plug-in的模块。这与原来的包含关系不同,C#.NET可以加入自己定义的如何组件。网站程序的开发从来没有这么简单过。安全性基于Windows认证技术和每应用程序配置,你可以确性你的原程序时绝对安全的。 C#.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 C#.NET 功能,随时增强 ASP 应用程序的功能。 C#.NET 是一个已编译的、基于 .NET 的环境,把基于通用语言的程序在服务器上运行。将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多.而且是可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 C#.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 C#.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。 当创建 C#.NET 应用程序时,开发人员可以使用 Web 窗体或 XML Web services,或以他们认为合适的任何方式进行组合。每个功能都能得到同一结构的支持,使您能够使用身份验证方案,缓存经常使用的数据,或者对应用程序的配置进行自定义。除此之外还有许多动态网站的开发技术,如Java Servlets技术,利用该技术可以很容易地用Java语言编写交互式的服务器端代码。一个Java Servlets就是一个基于Java技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。开发人员编写这样的Java Servlets,以接收来自Web浏览器的HTTP请求,动态地生成响应(可能需要查询数据库来完成这种请求),然后发送包含HTML或XML文档的响应到浏览器。这种技术对于普通的页面设计者来说要轻易地掌握是很困难的。采用这种方法,整个网页必须都在Java Servlets中制作。如果开发人员或者Web管理人员想要调整页面显示,就不得不编辑并重新编译该Java Servlets。太阳微系统公司(Sun Microsystems Inc.)在Web服务器、应用服务器、交易系统以及开发工具供应商间广泛支持与合作下,整合并平衡了已经存在的对Java编程环境(例如Java Servlets和JavaBeans)进行支持的技术和工具后产生了一种新的、开发基于Web应用程序的方法JavaServer Pages技术(JSP)。 所以经过总结,ASP.NET的优点可以归结为以下几点:(1)能够在任何Web或应用程序服务器上运行; (2)分离了应用程序的逻辑和页面显示;(3)能够进行快速的开发和测试; (4)简化了开发基于Web的交互式应用程序的过程 .1.2 本课题的研究意义 当今的社会是一个信息爆炸的社会。互联网的出现加速了这种信息爆炸的当量。导致信息泛滥成灾,严重地阻碍和影响着知识和信息的传播。随着Internet的普及,互联网以一股巨大变革力量的面貌出现在商务关系领域。其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。在现在这个时代中,网络的巨大优势显露无疑:那就是超越信息,将信息转化为知识。著名的经济学家、1972年诺贝尔经济学奖获得者赫伯特西蒙早在20多年前就指出过:在信息时代,最稀缺的资源不再是信息本身,而是对信息的处理能力。传统的各种网络工具(搜索引擎、网上查询、数据挖掘)以及各种软件工具等,越来越难以满足深层次的需要。如何让信息和知识通过互联网有序、广泛、深入地传播,将零散、隐形的知识快速转化为具有使用价值的显性知识。这是当今社会最为关心的问题。博客技术的出现为人们提供了一种全新可能。网络开始真正凸现无穷的知识价值。在现在的校园里,网络已经成为了不可替代的一种工具。其带来的效率是不可忽视的。在高校信息化网络建设信息技术的开发应用,以学习资源信息化的全面展开应用为主线,全面创建信息化校园,加强学校教育资源建设。微观上讲,高校信息化网络建设包含了计算机化、网络化、智能化,反映的是信息能力的高度运用。具有很强的实践性。高校信息化网络建设 与应用突出了信息化网络的应用主题,其最终目的是更好地开展并实现教育信息化、网络信息化。为了适应信息网络形势,紧跟时代潮流,使自己能在新世纪中运用网络传播渠道建立学习的新环境,利用网络的方便性提高学习效率,让老师和同学方便交流,利用网站随时在线的特点,创建彼此分享学习资料的的桥梁。这也是我创建该网站的初衷。1.3主要研究工作在线课件管理系统一般来说使用有三大对象对象:老师、同学和系统的管理人员。在线课件管理系统主要要达到以下要求:管理员可以看到所有的老师和同学的信息,并可以添加删除老师和同学的信息,而且管理可以把一些出错了或者太旧的课件进行删除,并且也可以上传课件,同时还可以修改自己的登录密码;而对于老师角色的要求是:可以上传课件,和下载课件,可以修改自己的登录密码;对于学生这个角色的要求是:可以下载课件,可以修改自己的登录密码,可以查看老师的信息。这个系统因为考虑到仅仅面对学校的同学开放,所以必须要登录后才可以浏览网页,对于普通的网络浏览者并不开放。对于安全和维护的考虑,系统将有一个后台页面,仅对于管理员开放。系统的开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备,易使用等特点。第二章 基础知识介绍2.1 ASP.NET概述ASP.NET 是一个统一的 Web 开发模型,它包括您使用尽可能少的代码生成企业级 Web 应用程序所必需的各种服务。ASP.NET 作为 .NET Framework 的一部分提供。当您编写 ASP.NET 应用程序的代码时,可以访问 .NET Framework 中的类。您可以使用与公共语言运行库 (CLR) 兼容的任何语言来编写应用程序的代码,这些语言包括 Microsoft Visual Basic、C#、JScript .NET 和 J#。使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的 ASP.NET 应用程序。ASP.NET 页和控件框架是一种编程框架,它在 Web 服务器上运行,可以动态地生成和呈现 ASP.NET 网页。可以从任何浏览器或客户端设备请求 ASP.NET 网页,ASP.NET 会向请求浏览器呈现标记(例如 HTML)。通常,您可以对多个浏览器使用相同的页,因为 ASP.NET 会为发出请求的浏览器呈现适当的标记。但是,您可以针对诸如 Microsoft Internet Explorer 6 的特定浏览器设计 ASP.NET 网页,并利用该浏览器的功能。ASP.NET 支持基于 Web 的设备(如移动电话、手持型计算机和个人数字助理 (PDA))的移动控件。 ASP.NET 网页是完全面向对象的。在 ASP.NET 网页中,可以使用属性、方法和事件来处理 HTML 元素。ASP.NET 页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使您不必考虑基于 Web 的应用程序中固有的客户端和服务器隔离的实现细节。该框架还会在页处理生命周期中自动维护页及该页上控件的状态。使用 ASP.NET 页和控件框架还可以将常用的 UI 功能封装成易于使用且可重用的控件。控件只需编写一次,即可用于许多页并集成到 ASP.NET 网页中。这些控件在呈现期间放入 ASP.NET 网页中。ASP.NET 页和控件框架还提供各种功能,以便可以通过主题和外观来控制网站的整体外观和感觉。可以先定义主题和外观,然后在页面级或控件级应用这些主题和外观。除了主题外,还可以定义母版页,以使应用程序中的页具有一致的布局。一个母版页可以定义您希望应用程序中的所有页(或一组页)所具有的布局和标准行为。然后 可以创建包含要显示的页特定内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并,产生将母版页的布局与内容页中的内容组合在一起的输出。在 ASP.NET 网页中,用户界面编程分为两个部分:可视组件和逻辑。如果您以前使用过类似于 Visual Basic 和 Visual C+ 的工具,您将认同在页的可视部分和页后与之交互的代码之间存在这样一种划分。可视元素由一个包含静态标记(例如 HTML 或 ASP.NET 服务器控件或两者)的文件组成。ASP.NET 网页用作要显示的静态文本和控件的容器。 ASP.NET 网页的逻辑由代码组成,这些代码由您创建以与页进行交互。代码可以驻留在页的 script 块中或者单独的类中。如果代码在单独的类文件中,则该文件称为“代码隐藏”文件。ASP.NET 网页编译为动态链接库 (.dll) 文件。用户第一次浏览到 .aspx 页时,ASP.NET 自动生成表示该页的 .NET 类文件,然后编译此文件。.dll 文件在服务器上运行,并动态生成页的 HTML 输出。2.1.1 ASP.NET的主要功能与特点利用ASP.NET 技术,创建Web动态网站,这需要研发人员了解并能够灵活应用多种Web研发技术,例如,CSS样式表、客户端 脚本语言、.NET研发语言、服务器控件研发技术,甚至是当前最火的AJAX技术等等。要实现一些要求的功能,使用这种研发技术不是那么困难。现在就简单介绍一下ASP.NET主要功能和一些特点,然后再对创建Web自定义服务器控件的基础知识进行一定的介绍。 2.1.1.1 Web服务器控件简介在ASP.NET 2.0中,Web服务器控件是指在服务器上执行程式逻辑的组件。这个组件可能生成一定的用户界面,也可能不包括用户界面。每个服务器控件都包含一些成员对象,以便研发人员调用。例如:属性、事件、方法等。通常情况下,服务器控件都包含在ASP.NET页面中。当运行页面时,.NET执行引擎将根据控件成员对象和程式逻辑定义完成一定的功能。例如,在客户端呈 现用户界面。这时,用户可和控件发生交互行为,当页面被用户提交时,控件可在服务器端引发事件,并由服务器端根据相关事件处理程式来进行事件处理。服务器 控件是WebForm编程模型的重要元素,他们构成了一个新的、基于控件的表单程式的基础。通过这种方式能够简化Web应用程式的研发,提高应用程式的研发效率。服务器控件的广泛应用,简化了应用程式的研发,提高了工作效率。那么,何时应创建并使用自定义服务器控件呢?下面列举了在三种具体适用情况:(1)某个现有服务器控件基本符合应用需要,但是,缺少某些特别的功能,这享有工作室-为您提供最优秀的计算机毕业设计论文解决方案 客服QQ:810354974/844511071/465729264时能够通过从现有控件中派生并重写其属性、方法或事件来自定义服务器控件。(2)需要使用的服务器控件结合了两个或多个现有控件的功能,例如,封装一个按钮和一个文本框的复合控件。此时能够通过创建服务器控件达到这一目的。(3)现有服务器控件(或其组合)均不符合应用的需要。对于这种情况,能够通过从基类派生的方式来创建自定义服务器控件。ASP.NET 2.0提供了多种服务器控件。根据服务器控件定义方式,可分为以下3种类型:HTML服务器控件、ASP.NET标准服务器控件和自定义服务器控件。2.1.1.2 HTML服务器控件HTML 服务器控件派生自名字空间System.Web.UI.HtmlControls。他们由普通HTML控件(指HTML语言已定义的控件,例 如,Button、Input等)转换而来,其呈现的输出,基本上和普通HTML控件一致。默认情况下,服务器端很难控制Web页面上的普通HTML控 件,但是,通过将普通HTML控件转换为HTML服务器控件的方法,研发人员则能够轻而易举对其进行编程控制。将普通HTML控件转换为HTML服务器控件方法比较简单。一般情况下,通过两个步骤完成转换:(1)在普通HTML控件特性中添加Runat=Server属性;(2)配置ID属性。通过转换,普通HTML控件的相关属性、事件、方法等将全部映射到HTML服务器控件中,由此,通过编程即可在页面处理过程中引用并控制该HTML服务器控件。HTML服务器控件具备以下几个重要特点:(1)可在服务器上使用面向对象技术对其进行编程控制,这为编程研发提供了便利。(2)自动维护视图状态。在页面窗体到服务器端往返期间,用户在HTML服务器控件中输入的值将在页面回传中自动维护。(3)和验证控件进行交互,便于验证用户是否在控件输入了适当的信息。(4)允许在HTML服务器控件中自定义属性。研发人员能够将任何需要的属性添加到HTML服务器控件的属性集中,页框架将读取并呈现他们而不更改其他任何功能。2.1.1.3 ASP.NET标准服务器控件ASP.NET 标准服务器控件均在名字空间System.Web.UI.WebControls中定义。所谓标准是指这类服务器控件内置于ASP.NET 2.0框架中,是预先定义的。这类控件并不一对一映射到HTML服务器控件,他们比HTML服务器控件具备更加丰富的功能,并且更加抽象。按照控件所提供的功能,ASP.NET标准服务器控件可分为以下6种类型:(1)标准控件:主要是指传统的Web窗体控件,例如TextBox、Button、Panel等控件。他们有一组标准化的属性、事件和方法,因此能够使研发工作变得简单易行。(2) 数据控件:该类控件可细分为两种类型:数据源控件和数据绑定控件。数据源控件主要实现数据源连接SQL语句/存储过程执行,返回数据集合等功能。具体包括SqlDataSource、AccessDataSource、XmlDataSource、SiteMapDataSource、 ObjectDataSource等。数据绑定控件包括Repeater、DataList、GridView、DetailsView、 FormView等。这类控件主要实现数据显示、提供编辑、删除等相关用户界面等。通常情况下,首先,需要使用数据源控件连接数据库,并返回数据集合,然后,利用数据绑定控件实现数据显示、更新、删除等功能。由于Visual Studio 2005设计时的强大支持下,研发人员能够快速实现以上功能,甚至无需编写一行代码。(3) 验证控件:他们是一组特别的控件,控件中包含验证逻辑以测试用户输入。具体包括:RequiredFieldValidator、RangeValiedator、RegularExpression Validator、CompareValidator等等。研发人员能够将验证控 件附加到输入控件,测试用户对该输入控件输入的内容。验证控件可用于检查输入字段,对照字符的特定值或模式进行测试,其目的是验证某个值是否在限定范围之 内或其他逻辑。(4)站点导航控件:该类控件可和站点导航数据结合,实现站点导航功能。具体包括:Menu、SiteMapPath、TreeView。对于大型站点,站点导航控件都有着广泛应用前景。(5)WebParts 控件:Web部件是一项很了不起的功能,利用他能够创建具备高度个性化特征的Web应用程式。实现Web部件功能需要WebParts控件支 持,ASP.NET 2.0提供了以下相关控件,例如WebPartManager、WebPartZone、EditorZone、CatalogZone、 PageCatalogPart、AppearanceEditorPart等等。(6)登录控件:这类控件可快速实现用户登录及相关功能,例如,显示登录状态、密码恢复、创建新用户等。具体包括:LoginView、Login、CreateUserWizard、LoginStatus等等。ASP.NET标准服务器控件由于是官方提供,因此,从系统内部就提供了对他们的强大支持。对于研发人员而言,这些控件是构建Web应用程式的主力军。享有工作室-为您提供最优秀的计算机毕业设计论文解决方案 客服QQ:810354974/844511071/4657292642.2 C#.NET概述 C#是一种语言,.NET是一种平台。C#(读做 C sharp,中文译音暂时没有.专业人士一般读C sharp,现在很多非专业一般读C井。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。它借鉴了Delphi 的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。 C# 语法表现力强,只有不到 90 个关键字,而且简单易学。C# 的大括号语法使任何熟悉 C、C+ 或 Java 的人都可以立即上手。了解上述任何一种语言的开发人员通常在很短的时间内就可以开始使用 C# 高效地工作。 语法简化了 C+ 的诸多复杂性,同时提供了很多强大的功能,例如可为空的值类型、枚举、委托、 C# 源文件可以定义任意数量的类、结构、接口和事件。Microsoft.NET 是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。Web Services是.NET的核心技术。Web services是一个开放的标准,和HTTP、 XML、SOAP一样。他们是一个工业标准而非微软标准,WS-I是为了促进Web Services互通性的联盟组织,最初是由IBM和微软所发起,其它的成员包括BEA System、惠普计算机(HP)、甲骨文(Oracle)、英特尔(Intel)和SUN 计算机(Sun Microsystem)。如今网络上存在的大多Web services其实没有使用.NET构架,Web services具有互操作属性,你同样可以使用Windows开发客户端来调用运行于Linux上面的Web services的方法。Microsoft提供了最佳的服务器构架Microsoft Windows Server System便于发布、配置、管理、编排Web Services。为了满足分布式计算的需要微软构造了一系列的服务器系统,这些内建安全技术的系统全部支持XML,这样加速了系统、应用程序以及同样使用Web Services的伙伴应用之间的集成。.NET Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 C#.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML Web Services)。C#.NET 是使开发人员能够使用 .NET Framework 开发基于 Web 的应用程序的宿主环境。但是,C#.NET 不止是一个运行库宿主;它是使用托管代码开发网站和通过 Internet 分布的对象的完整结构。Web 窗体和 XML Web Services 都将 IIS 和 C#.NET 用作应用程序的发布机制,并且两者在 .NET Framework 中都具有支持类集合。2.2.1 C#.NET的主要功能与特点C#.NET是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序。当用户使用浏览器请求ASPX主页时,WEB服务器响应,调用ASP引擎来执行ASPX文件,并解释其中的脚本语言(JScript 或VCScript),通过SQLBC连接数据库,由数据库访问组件ADO(ActiveX Data Objects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。由于ASPX在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASPX源程序不会泄密,增加了系统的安全保密性。此外,ASPX是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。目前C#.NET可运行在三种环境下。1) WINDOWS NT server 4.0运行IIS 3.0(Internet Information Server)以上。2) WINDOWS NT workstation 4.0运行Peer Web Server 3.0以上。3) WINDOWS 95/98运行PWS(Personal Web Server)。4) WINDOWS XP/VISTA其中以NT server上的IIS功能最强,提供了对C#.NET的全面支持,是创建高速、稳定的ASPX主页的最佳选择。C#.NET提供了六个内建对象,供用户直接调用:(1) Application对象:负责管理所有会话信息,可用来在指定的应用程序的所有用户之间共享信息。(2) Session对象:存贮特定用户的会话信息,只被该用户访问,当用户在不同WEB页面跳转时,Session中的变量在用户整个会话过程中一直保存。Session对象需cookie支持。(3) Request对象:从用户端取得信息传递给服务器,是ASPX读取用户输入的主要方法。享有工作室-为您提供最优秀的计算机毕业设计论文解决方案 客服QQ:810354974/844511071/465729264(4) Response对象:服务器将输出内容发送到用户端。(5) Server对象:提供对服务器有关方法和属性的访问。(6) Object Context对象:IIS 4.0新增的对象,用来进行事务处理。此项功能需得到MTS(Microsoft Transcation Server)管理的支持。此外,还可安装Myinfo、Counters、Content Rotator、Page Count等组件,用户也可自行编制Actiive组件,以提高系统的实用性。WWW上很重要的应用是访问WEB数据库,用ASP访问WEB数据库时,必须使用ADO.NET组件,ADO.NET是ASPX内置的ActiveX服务器组件(ActiveX Server Component),通过在WEB服务器上设置ODBC和OLEDB可连接多种数据库:如SYBASE、ORACLE、INFORMIX、SQL SERVER、ACCESS、VFP等,是对目前微软所支持的数据库进行操作的最有效和最简单直接的方法。ADO.NET组件主要提供了以下七个对象和四个集合来访问数据库。(1) Connection对象:建立与后台数据库的连接。(2) Command对象:执行SQL指令,访问数据库。(3) Parameters对象和Parameters集合:为Command对象提供数据和参数。(4) RecordSet对象:存放访问数据库后的数据信息,是最经常使用的对象。(5) Field对象和Field集合:提供对RecordSet中当前记录的各个字段进行访问的功能。(6) Property对象和Properties集合:提供有关信息,供Connection、Command、RecordSet、Field对象使用。(7) Error对象和Errors集合:提供访问数据库时的错误信息。在ASPX中,使用ADO.NET组件访问后台数据库,可通过以下步骤进行:1. 定义数据源在WEB服务器上打开“控制面板”,选中“ODBC”,在“系统DSN”下选“添加”,选定你希望的数据库种类、名称、位置等。本文定义“SQL SERVER”,数据源为“HT”,数据库名称为“HTDATA”,脚本语言采用Jscript。2. 使用ADO.NET组件查询WEB数据库1) 调用Server.CreateObject方法取得“ADODB.Connection”的实例,再使用Open方法打开数据库:conn = Server.CreateObject(“ADODB.Connection”);conn.Open(“HT”);2) 指定要执行的SQL命令连接数据库后,可对数据库操作,如查询,修改,删除等,这些都是通过SQL指令来完成的,如要在数据表signaltab中查询代码中含有“X”的记录sqlStr = “select * from signaltab where code like %X%”rs = conn.Execute(sqlStr);3) 使用RecordSet属性和方法,并显示结果为了更精确地跟踪数据,要用RecordSet组件创建包含数据的游标,游标就是储存在内存中的数据。rs = Server.CreateObject(“ADODB.RecordSet”);rs.Open(sqlStr,conn,1,A);注:A=1读取A=3 新增、修改、删除在RecordSet组件中,常用的属性和方法有:rs.Fields.Count: RecordSet对象的字段数。rs(i).Name: 第i个字段的名称,i为0至rs.Fields.Count-1rs(i): 第i个字段的数据,i为0至rs.Fields.Count-1rs(字段名): 指定字段的数据。rs.Record.Count:游标中的数据记录总数。rs.EOF: 是否最后一条记录。rs.MoveFirst: 指向第一条记录。rs.MoveLast: 指向最后一条记录。rs.MovePrev: 指向上一条记录。rs.MoveNext: 指向下一条记录。rs.GetRows: 将数据放入数组中。rs.Properties.Count:ADO.NET的ResultSet或Connection的属性个数。rs.Properties(item).Name:ADO.NET的ResultSet或Connection的名称。rs.Properties: ADO.NET的ResultSet或Connection的值。rs.close(): 关闭连接。4) 关闭数据库conn.close()2.2.2 查询数据库举例下面这用Admin访问SQL SERVER数据库的BBS表来说明。享有工作室-为您提供最优秀的计算机毕业设计论文解决方案 客服QQ:810354974/844511071/465729264下面的代码是管理员管理留言板的页面的后台代码:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient; public partial class Admin_LinkAdmin : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (!this.IsPostBack) if (SessionUserName = null) Response.Redirect(erro_Amin.aspx); Elsethis.lb_to_name.Text = 欢迎您: SessionUserName.ToString(); this.bindgridview(); /定义一个绑定到gridview的方法,实现分页功能! public object bindgridview() SqlConnection con = DBAccess.createsqlcon(); con.Open(); /试用sqldataadapter+set来实现数据源的绑定,实现gridview分页功能。 SqlDataAdapter sda = new SqlDataAdapter(); sda.SelectCommand = new SqlCommand(select * from BBS, con); DataSet ds = new DataSet(); sda.Fill(ds, BBBS); this.GridView1.DataSource = ds.TablesBBBS; / 对应行的主键标识! GridView1.DataKeyNames = new string ID; this.GridView1.DataBind(); return ds; protected void lbt_exit_Click(object sender, EventArgs e) / Response.Write(window.close(););protected void GridView1_PageIndexChanging1(object sender, GridViewPageEvent Args e) this.GridView1.PageIndex = e.NewPageIndex; this.GridView1.DataSource = bindgridview(); this.GridView1.DataBind(); protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowType = DataControlRowType.DataRow) e.Row.Attributes.Add(onmouseover, c=this.style.backgroundColor;this.style.backgroundColor=#58baf0); e.Row.Attributes.Add(onmouseout,this.style.backgroundColor=c); protected void GridView1_RowDeleting(object sender, GridViewDeleteEvent Args e) string sindex =Convert.ToString ( GridView1.DataKeyse.RowIndex.Value); SqlConnection con = DBAccess.createsqlcon(); SqlCommand cmd = new SqlCommand(delete from BBS where ID=+sindex+, con); con.Open(); cmd.ExecuteNonQuery(); this.bindgridview(); protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) this.GridView1.EditIndex = e.NewEditIndex; this.bindgridview(); protected void GridView1_RowCancelingEdit(object sender, GridViewCancel Edit Event Args e) this.GridView1.EditIndex = -1; this.bindgridview(); protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) 享有工作室-为您提供最优秀的计算机毕业设计论文解决方案 客服QQ:810354974/844511071/465729264 SqlConnection con = DBAccess.createsqlcon(); con.Open(); SqlCommand cmd = new SqlCommand(update BBS set Adminre= +(TextBox)(this.GridView1.Rowse.RowIndex.Cells3.Controls0).Text.ToString().Trim() + where ID=+ GridView1.DataKeyse.RowIndex.Value.ToString() + , con); cmd.ExecuteNonQuery(); con.Close(); GridView1.EditIndex = -1; this.bindgridview(); 2.3 数据库技术2.3.1 数据库简介SQL Server 2008 是 Microsoft .NET Enterprise Server 的数据管理与分析中枢。SQL Server 2008 包括加速从概念到最后交付开发过程的工具。集成和可扩展的分析服务。有了 SQL Server 2008,您可以建立带有集成工具的端到端分析解决方案,从数据创造价值。此外,还可以根据分析结果自动驱动商业过程以及从最复杂的计算灵活地检索自定义结果集。快速开发、调试和数据转换。SQL Server 2008 带有交互式调节和调试查询、从任何数据源快速移动和转化数据、以及按 Transact-SQL 方式定义和使用函数等功能。您可以从任意 Visual Studio 工具以可视化方式设计和编写数据库应用程序。简化的管理和调节。使用 SQL Server 2008,您可以很容易地在企业资源旁边集中管理数据库。可以在保持联机的同时轻松地在计算机间或实例间移动和复制数据库。数据库(Database)是与特定主题或用途相关的数据和对象的集合,用于搜索、排序和重新组织数据。数据库存储在文件中。SQL Server数据库可以包含表、视图、存储过程、触发器和数据关系图,还可以包含用户、角色、规则、默认值、用户定义的数据类型和函数以及全文目。2.3.2 SQL Server 2008数据库的常用命令(1)数据记录筛选:sql=select*from数据表where字段名=字段值orderby字段名descsql=select*from数据表where字段名like%字段值%orderby字段名descsql=selecttop10*from数据表where字段名orderby字段名descsql=select*from数据表where字段名in(值1,值2,值 3)sql=select*from数据表where字段名between值1and值2“(2)更新数据记录:sql=update数据表set字段名=字段值where条件表达式sql=update数据表set字段1=值1,字段2=值2字段n=值n where条件表达式(3)删除数据记录:sql=delete from数据表where条件表达式sql=delete from数据表(将数据表所有记录删除)(4)添加数据记录:sql=insertinto数据表(字段1,字段2,字段3)values(值1,值2,值3)sql=insertinto目标数据表select*from源数据表(把源数据表的记录添加到目标数据表)(5)数据记录统计函数:AVG(字段名)得出一个表格栏平均值COUNT(*字段名)对数据行数的统计或对某一栏有值的数据行数统计MAX(字段名)取得一个表格栏最大的值MIN(字段名)取得一个表格栏最小的值SUM(字段名)把数据栏的值相加引用以上函数的方法:sql=select sum(字段名)as别名from数据表where条件表达式set rs=conn.excute(sql)用rs(别名)获取统的计值,其它函数运用同上。(5)数据表的建立和删除:CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)DROPTABLE数据表名称(永久性删除一个数据表)4.记录集对象的方法:rs.movenext将记录指针从当前的位置向下移一行rs.moveprevious将记录指针从当前的位置向上移一行rs.movefirst将记录指针移到数据表第一行rs.movelast将记录指针移到数据表最后一行享有工作室-为您提供最优秀的计算机毕业设计论文解决方案 客服QQ:810354974/844511071/465729264rs.absoluteposition=N将记录指针移到数据表第N行rs.absolutepage=N将记录指针
展开阅读全文