当前位置:文档之家› 地理信息系统教学课件的开发与设计

地理信息系统教学课件的开发与设计

摘要

地理信息系统(GIS)是近几十年来新兴的一门集地理学、地图学、遥感技术和计算机于一体的综合性的课程,在于培养具备地理信息系统与地图学、遥感技术方面的基本理论、基本知识、基本技能,在科研机构或高等学校从事科学研究或教学工作,能在资源、环境、城市、区域、交通、人口、土地、住房、灾害、基础设施和规划管理等领域的高校、公司、政府部门、金融机构、规划设计院所,从事与地理信息系统有关的应用研究、技术开发、生产管理和行政管理等工作的高级专门人才。

本文(基于C#.NET技术的“地理信息系统教学课件”的开发与设计)使用了C#.NET 来编写实现前台后台的功能,主要实现角色管理,登录管理,提供在线模拟考试,在线练习,网上答疑功能,实现资料的下载,在资料库模块提供了课程简介,教学重点,课件的下载等有助于学员自学的资料,在交流模块提供了一个交流的平台,有助于老师及时解答学生的疑问。该系统采用了三层结构的模式设计。同时使用到MSSQL2000数据库实现数据的保存功能,使教学课件能够满足基本的教学需求。

关键字:地理信息系统课程;教学课件;C#;.NET

Abstract

Geographic Information System (GIS) is a frontier subject in recent 20 years, a new set of geography, cartography, remote sensing and computer technology in one, the main training with GIS and cartography, remote sensing technology in terms of the basic theory, basic knowledge, basic skills, can be engaged in scientific research or teaching work in research institutions or colleges the school, can in the field of city, region, resources, environment, traffic, population, housing, land, disaster, infrastructure and planning management, government departments, financial institutions, companies, universities, design institutes, senior specialized personnel engaged in related with geographic information system applied research, technology development, production management and administrative work.

In this paper, based on C#.NET technology \"teaching courseware\" geographic information system development and design) used C#.NET to write can realize the function of the foreground background, mainly realize the role management, log management, provides the simulation tests online, online training, on-line question-answering function, realizes the data download, the database module provides a course description, teaching key, download courseware helps students self-learning materials, such as communication module provides a communication platform, help the teacher answer students' questions in a timely manner. The system USES a three-tier structure model design. Used at the same time to achieve the function of data preservation MSSQL2000 database, make the teaching courseware can satisfy the basic requirements of teaching.

Key Words: GIS; courseware; C#;.NET

目录

1 绪论 .................................................................................................................................. III

1.1 引言 (1)

1.2 课题研究的意义和背景 (2)

1.3 国内外研究现状 (4)

1.4 论文主要内容 (6)

1.5 论文结构 (6)

2 开发环境介绍 (8)

2.1 C#与.NET介绍 (8)

2.2 数据库技术 (14)

2.2.1 SQL Server 2000 介绍 (14)

2.2.2 SQL Server 2000数据库的常用命令 (14)

2.3 IIS介绍 (16)

3 系统的分析与设计 (18)

3.1 需求分析 (18)

3.2 可行性分析 (19)

3.3 总体设计思路 (20)

3.4 系统模块设计 (22)

3.5 系统流程设计 (24)

3.6 系统数据库设计 (26)

4 程序运行结果与功能的实现 (28)

4.1 程序运行结果 (28)

4.2 角色登录界面 (28)

4.3 管理员操作功能的实现 (30)

4.4 教师操作功能的实现 (32)

4.5 学生操作功能的实现 (36)

结论 (39)

致谢 (40)

参考文献 (41)

附录A 英文原文 (42)

附录B 中文翻译 (46)

附录C 代码清单 (49)

1 绪论

1.1 引言

随着社会经济和Web技术的发展,人们不再满足于仅能浏览信息的静态网页,更多的时候需要能与同时上网的互联网用户进行交流和发表自己的意见见解,这样,能提供后台数据库的管理和控制等服务的动态网站有了诞生的必要。近年来,随着互联网在中国的迅速发展,网上教学与在真实的教学是相同的,不同的是前者通过一个网络虚拟的平台来实现教学。对于本文地理信息系统教学课件的开发与设计实质上就是设计一个动态的网站。

动态网站开发技术

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)。这种动态网站开发技术主要有以下一些特点:

(1)能够在任何Web或应用程序服务器上运行;

(2)分离了应用程序的逻辑和页面显示;

(3)能够进行快速的开发和测试;

(4)简化了开发基于Web的交互式应用程序的过程。

1.2 课题研究的意义和背景

随着Internet的飞速发展,课堂授课式的教学已经不能满足现代学生及教师的需求,设计一款好的教学课件,可以激发同学们的学习兴趣,改善授课环境,使授课生活化,

有助于突破重点难点,对于培养创新思维也有很大帮助。因此一款好的教学课件的对教学来说尤为重要。

自60年代以来,空间技术的日新月异及计算机图形学理论的日渐完善,地理信息系统(Geographic Information System, GIS)技术也日趋成熟,并且逐渐被人们认识和接受。现如今,越来越多的人习惯了信息时代的生活,以电脑为核心的大量信息家电涌入家庭,教学课件的发展也就顺理成章了。(课件(courseware)是根据教学大纲的要求,经过教学目标确定,教学内容和任务分析,教学活动结构及界面设计等环节,而加以制作的课程软件。它与课程内容有着直接联系。)相比起互联网的发展,教学课件出现的时间应该不算太长,但是它的出现却迎合了大多数网民的需求,可以说是一个大有“前途”的新生事物。总的说来教学课件可以为用户提供课程知识,在线答疑,期末测评等信息。基于这此问题,有必要建立一个教学课件系统,来满足越来越多的同学和相关爱好者的需要。一个优秀的课件具备以下特点:

1、生动性:把教学内容的重点和教学课件充分地结合起来,带给学生最易理解的方式。

2、交互性:让学生参与到学习过程中,充分调动学生的学习积极性,加深理解和记忆。

3、方便性:好的导航可以扫除非教学因素的障碍,可以让学习者能够便捷地访问。

4、自由性:自由学习是教学课件的一大特色,学生任何时候都清楚地知道自己所处进度,控制自己的学习进程。

5、个性化学习:为每门课给每个学习者带来个性化的学习感受。

6、评估:检查学习状态是必须的手段,没有可能会很容易放弃学习。

教学课件自主学习相比封闭教学取消和突破种种对学习的限制和障碍。比如:对入学者的年龄,职业,地区,学习资历等方面没有限制,凡是有志向学习者,具备一定的文化知识基础的,不需参加入学考试,均可申请学习;学生对课程选择和媒体使用有一定的自主权,在学习方式,进度,时间和地点等方面也可由学生根据需要决定等。其主要意义在于:

1、激发学生学习兴趣

传统的教学手段枯燥无味,没有直观的形态供学生了解,有了课件教学,使古板变生动了,抽象变形象了,深奥变浅显了,沉闷变愉悦了。不但激发了学生的学习兴趣,更有利的使学生理解其意义。

2、使用课件可以提高学生的兴趣

使用电教化课件能把语言文字所描绘的情境直观形象逼真的展现出来,能够吸引学生注意力,提高学习情绪,从而诱发学生学习的兴趣。

3、教师观念的转变

随着电教化教学普遍进入课堂,教育工作者树立了终身教育的观念。促使教师接受继续教育,对提高教师本身的教学水平也有很大帮助,有些老师尤其是多学科老师感到课件制作压力大,可以到找一些相关的课件进行修改。随着互联网的普及,努力创造各种条件,让教师有学习、实践、创新的机会,才能让孩子接受更好的教育。

4、提高老师的教学水平

课件逐渐普及后,教师以生动的语言加上有声有色的课件,使学生对知识掌握更加容易,普通提高学生家长对教师的信任。

5、节约时间,可在最短的时间内,让学生清晰透彻的了解所需掌握的知识,并能灵活运用。

1.3 国内外研究现状

教学课件实质是一种软件,是在一定的学习理论指导下,根据教学目标设计的、反映某种教学策略和教学内容的计算机软件。课件的基本模式有练习型、指导型、咨询型、模拟型、游戏型、问题求解型、发现学习型等。无论哪种类型的课件,都是教学内容与教学处理策略两大类信息的有机结合。

教学课件需要大量的、广泛的各方面的材料,若单靠个人通过读报刊、杂志等,既费时间、又很难收集全面而详尽的材料,但是通过上网浏览,可以迅速及时掌握有关的大量信息。教师在备课中,根据课件内容的需要,从网上下载适当的资料,来充实课件的内容。

由于多媒体教学环境,彻底改变了传统的教学模式,将崭新的现代教学思想及教学模式引入教学过程,课件制作将使教学方式与教学过程发生重要变化,学习者直接参与的学习方式是在多媒体网络环境中进行的,学习者进行的多媒体资料的“演示”和学习者的“操练”是网络教学环境最重要的教学方式。也就是依赖学习者与多媒体计算机之间的相互作用来进行学习,学习的特点在于理解和练习。

从目前多媒体网络教学系统技术实现的形式和方法来看,大致可分为两种教学模式。一种是以视频会议系统为主的实时在线式网络教学,它是通过传输音频和视频,将在空间上分离的教师和学生连接在一起,进行实时的,可视的交互式教学;另一种是基于WEB技术的非实时自主式网络教学,它是使用先进的交互式WEB技术将教学资源组织到相关的WEB页面,存放在WEB服务器上以B/S方式提供互动的教学服务。

教学课件网站,在刚一出现时,就以其强大的资源共享性赢得了无数用户的心,也吸引了很多国内外专家的兴趣,而其后的交互性也奠定了其后迅速发展的基石,近几年来网站建设业务一直呈快速上涨势头。由最初的单纯注入代码到各种编程工具的出现再到各种汇编语言应运而生,使教学课件网站制作技术不断的完善。如新的网络汇编语言.NET技术和服务CDN技术将使网站结构更紧密,访问更流畅,更适应新的要求。

从国内外许多专家来看,教学课件网站很可能有以下几种发展趋势:

1、网络,应用和服务融合;

2、计算机系统重新整合;

3、网络进行整合;

4、计算机系统结构改变。

美国:美国是目前网络教育规模最大的国家。44%的高等学校向全社会提供各种网络教育,接受网络高等教育的学生约占全日制在校学生的32%,此外,还有21%的高校计划在今后3年内开展网络教育。网络教育开设的学历,学位课程数达到4.9万个,基本覆盖了美国高等学校的所有学科和专业。到2000年,以互联网为主要手段开展远程教育的高校占70%左右,比三年前增长了3倍,其余学校也将在3年内开始利用互联网开展教育。著名的哈佛大学2005年开设42门网络教育课程,只要可以上网,学生在世界任何一个地方都可以加入课堂并发表意见。而麻省理工学院则于2006年开始推广电子课本,这使远程教育的学员获得可以随时更新的多媒体教材。

英国:2004年2月,英国高等教育基金理事会(HEFCE)拟订了一个雄心勃勃的“E-university”计划,要整合英国各大学的力量,建立一所网上大学。他们计划通过英国已有的JANET和超级JANET网络系统,向全球提供网络教育。英国的开放式大学是一种面向全社会,全世界全方位开放的大学。实行免试入学,实行学历教育和终身教育想结合的办学机制,采用学分制。从小学教育到高等教育,研究生教育,每个层次的教学内容都应有尽有。开放大学的教学以网络为基础,采用多媒体教学环境。为了保证质

量,开放大学还提供了一系列辅助体系,比如学科和课程结构体系,多媒体教材体系,质量保证体系和学生自主体系等。

韩国:据人民网的信息所载,韩国的教育网站目前已达到了1000多个,而且仍在以每天一至两个的速度增加。韩国的教育网站主要有三类,分别由户联网公司,高校和政府主办。据韩国教育开发院的预测,今年韩国网上教育市场规模约为5000亿韩元。占整个教育市场的6%,到2010年将达到10兆韩元的规模,是现在的近100倍。、南非:为了更好地发展现代网络教育,南非成立了非官方,非盈利性质的ShoMa 远程教育基金会,来负责协调各方面的工作。其董事会由12位来自政府教育部门,地方领导,教育专家,非官方自愿服务人员,企业和项目发起部门的成员组成,2005年,新的卫星数字电视与计算机网络结合的远程教育项目在南非的12个省进行了试点。

1.4 论文主要内容

地理信息系统教学课件的开发主要使用C#.NET和SQLSever2000数据库的设计方法,开发设计一个教学网站。并且系统能够正常运行,反应速度快。用到了一些前端控件来控制输入信息,连接数据库使用的https://www.doczj.com/doc/5f4973397.html,技术。在系统规划中先后用数据流程图、系统功能结构图分析了网站所需的各种数据,详细的展现了系统的各个功能模块并给出了主要功能运行界面图。

地理信息系统教学课件包含了三种角色的登录:学生,教师,管理员。

我所设计的网站主要能达到以下要求:

1、管理员平台可以进行系统设置、学生班级设置、教师管理、学生导入、学生分班、数据备份、数据清理、系统退出等操作。

2、教师平台可以进行课程管理、备课、查看学生登录状态、设置打字练习、设置考试题库、添加资源等操作。

3、学生平台可以查看我的课程、课程信息、我的作品、在线检测、资源下载、在线讨论,在线提问等。

1.5 论文结构

本论文的主要内容分为四章,具体内容如下:

1、第一章简单介绍了国内外对GIS系统教学课件研究现状以及本次毕业设计的主要内容。

2、第二章介绍地理信息系统教学课件制作需要的基础知识。

3、第三章介绍了GIS教学课件的分析与设计。

4、第四章介绍了本系统各项功能的实现和效果。

5、最后总结了不足之处和指出有待完善之处。

2 开发环境介绍

随着Internet技术的兴起与发展,特别是Web技术的蓬勃发展,人们已不满足于只在Web浏览器上获取静态的信息,人们需要通过它发表意见,查询数据,甚至进行网上购物,这就迫切需要实现Web与数据库的连接。Web技术发展到今天,人们已经可以把数据库技术引入到Web系统中。数据库技术发展比较成熟,特别适用于对大量的数据进行组织管理,而Web技术具有较佳的信息发布途径。将Web与数据库结合起来,不仅把Web与数据库的所有优点集中在一起,而且充分利用了大量已有的数据库信息资源,可以使用户在Web浏览器上方便地检索和浏览数据库的内容,这对许多软件开发者来说具有极大的吸引力。所以,将Web技术与数据库相结合,开发动态的Web数据库应用已成为当今Web技术研究的热门。本系统采用网站形式实现,结合HTML、https://www.doczj.com/doc/5f4973397.html,、及SQL Server。https://www.doczj.com/doc/5f4973397.html, 用于前台的数据处理、功能按钮、简单的数据过滤、框架变换、页面导航等功能;SQL Server存储所以的数据信息,使得数据管理更为方便,增强源代码的移植性能。格调统一,界面更为美观,利用三层结构可以减少了很多多余的操作、便于修改、维护。

2.1 C#与.NET介绍

C#是一个语言,.net是一个平台,上面支持用C#或者VBdotNet写代码。

另外,C#不但可以开发基于.net的应用程序,也可以开发基于WinForm的程序,这就是区别。

若是单纯以概念来说,你可以把.net当做一个工作平台一般,它是一个开发环境的基底,提供你开发Windows、Web、Mobile、XML...等应用程序一个共通的平台,若是要了解深一点,则再去了解其运作的相关机制那是有助于你利用它来开发.C#和.NET主要是应用在网际网路。

C#(读做C-sharp)编程语言是由微软公司的Anders Hejlsberg和Scott Willamette 领导的开发小组专门为.NET平台设计的语言,它可以使程序员移植到.NET上。这种移植对于广大的程序员来说是比较容易的,因为C#从C,C++和Java发展而来,它采用了这三种语言最优秀的特点,并加入了它自己的特性。C#是事件的驱动的,完全面向对象的可视化编程语言,我们可以使用集成开发环境来编写C#程序。使用IDE,程序员

可以方便的建立,运行,测试和调试C#程序,这就将开发一个可用程序的时间减少到不用IDE开发时所用时间的一小部分。使用IDE迅速建立一个应用程序的过程称为快速反映开发。

.NET 是Microsoft 的XML Web 服务平台。不论操作系统或编程语言有何差别,XML Web 服务能使应用程序在Internet 上传输和共享数据。Microsoft® .NET 平台包含广泛的产品系列,它们都是基于XML 和Internet 行业标准构建,提供从开发、管理、使用到体验XML Web 服务的每一方面。XML Web 服务将成为您今天正在使用的Microsoft 的应用程序、工具和服务器的一部分—并且将要打造出全新的产品以满足您所有业务需求。更具体地说,Microsoft 正在五个方面创建.NET 平台,即工具、服务器、XML Web 服务、客户端和.NET 体验。

C#.NET 是使开发人员能够使用.NET Framework 开发基于Web 的应用程序的宿主环境。但是,C#.NET 不止是一个运行库宿主;它是使用托管代码开发网站和通过Internet 分布的对象的完整结构。Web 窗体和XML Web Services 都将IIS 和C#.NET 用作应用程序的发布机制,并且两者在.NET Framework 中都具有支持类集合。

C#.NET具备以下功能及特点:

1、C#.NET访问数据库的原理

C#.NET是服务器端的脚本执行环境,可用来产生和执行动态的高性能的WEB服务器程序。当用户使用浏览器请求ASPX主页时,WEB服务器响应,调用ASP引擎来执行ASPX文件,并解释其中的脚本语言(JScript 或VCScript),通过SQLBC连接数据库,由数据库访问组件ADO(ActiveX Data Objects)完成数据库操作,最后ASP生成包含有数据查询结果的HTML主页返回用户端显示。由于ASPX在服务器端运行,运行结果以HTML主页形式返回用户浏览器,因而ASPX源程序不会泄密,增加了系统的安全保密性。此外,ASPX是面向对象的脚本环境,用户可自行增加ActiveX组件来扩充其功能,拓展应用范围。

2、ASPX页面的结构

ASPX的程序代码简单、通用,文件名由.aspx结尾,ASPX文件通常由四部分构成:1)标准的HTML标记:所有的HTML标记均可使用。2)ASPX语法命令:位于<% %>标签内的ASPX代码。

3、C#.NET的运行环境

目前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主页的最佳选择。

4、C#.NET的内建对象

C#.NET提供了六个内建对象,供用户直接调用:

(1)Application对象:负责管理所有会话信息,可用来在指定的应用程序的所有用户之间共享信息。

(2)Session对象:存贮特定用户的会话信息,只被该用户访问,当用户在不同WEB页面跳转时,Session中的变量在用户整个会话过程中一直保存。Session对象需cookie支持。

(3)Request对象:从用户端取得信息传递给服务器,是ASPX读取用户输入的主要方法。

(4)Response对象:服务器将输出内容发送到用户端。

(5)Server对象:提供对服务器有关方法和属性的访问。

(6)Object Context对象:IIS 4.0新增的对象,用来进行事务处理。此项功能需得到MTS(Microsoft Transcation Server)管理的支持。

5、ASPX的主要内置组件:

(1)Ad Rotator组件:用来按指定计划在同一页上自动轮换显示广告,用于WWW 上日益重要的广告服务。

(2)Browser Capabilities组件:确定访问WEB站点的用户浏览器的功能数据,包括类型、性能、版本等。

(3)数据组件:提供ADO (ActiveX Data Objects)和https://www.doczj.com/doc/5f4973397.html,来访问支持ODBC/SQLBC的数据库。

(4)File Access组件:提供对服务器端文件的读写功能。

(5)Content Linking组件:生成WEB页内容列表,并将各页顺序连接,用于制作导航条。

此外,还可安装Myinfo、Counters、Content Rotator、Page Count等组件,用户也可自行编制Actiive组件,以提高系统的实用性。

6、Database Access组件https://www.doczj.com/doc/5f4973397.html,

WWW上很重要的应用是访问WEB数据库,用ASP访问WEB数据库时,必须使用https://www.doczj.com/doc/5f4973397.html,组件,https://www.doczj.com/doc/5f4973397.html,是ASPX内置的ActiveX服务器组件(ActiveX Server Component),通过在WEB服务器上设置ODBC和OLEDB可连接多种数据库:如SYBASE、ORACLE、INFORMIX、SQL SERVER、ACCESS、VFP等,是对目前微软所支持的数据库进行操作的最有效和最简单直接的方法。

https://www.doczj.com/doc/5f4973397.html,组件主要提供了以下七个对象和四个集合来访问数据库。

(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集合:提供访问数据库时的错误信息。

7、ASPX访问数据库步骤

在ASPX中,使用https://www.doczj.com/doc/5f4973397.html,组件访问后台数据库,可通过以下步骤进行:

(1)定义数据源

在WEB服务器上打开“控制面板”,选中“ODBC”,在“系统DSN”下选“添加”,选定你希望的数据库种类、名称、位置等。本文定义“SQL SERVER”,数据源为“HT”,数据库名称为“HTDATA”,脚本语言采用Jscript。

(2)使用https://www.doczj.com/doc/5f4973397.html,组件查询WEB数据库

①调用Server.CreateObject方法取得“ADODB.Connection”的实例,再使用Open 方法打开数据库:

conn = Server.CreateObject(“ADODB.Connection”)

conn.Open(“HT”)

②指定要执行的SQL命令

连接数据库后,可对数据库操作,如查询,修改,删除等,这些都是通过SQL指令来完成的,如要在数据表signaltab中查询代码中含有“X”的记录

sqlStr = “select * from signaltab where code like ‘%X%’”

rs = conn.Execute(sqlStr)

③使用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-1

rs(i):第i个字段的数据,i为0至rs.Fields.Count-1

rs("字段名"):指定字段的数据。

rs.Record.Count:游标中的数据记录总数。

rs.EOF:是否最后一条记录。

rs.MoveFirst:指向第一条记录。

rs.MoveLast:指向最后一条记录。

rs.MovePrev:指向上一条记录。

rs.MoveNext:指向下一条记录。

rs.GetRows:将数据放入数组中。

rs.Properties.Count:https://www.doczj.com/doc/5f4973397.html,的ResultSet或Connection的属性个数。

rs.Properties(item).Name:https://www.doczj.com/doc/5f4973397.html,的ResultSet或Connection的名称。

rs.Properties:https://www.doczj.com/doc/5f4973397.html,的ResultSet或Connection的值。

rs.close():关闭连接。

④关闭数据库

conn.close()

.NET采用三层体系结构,即在客户端与数据库之间加入了一个中间层,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则,数据访问,合法性校验等工作放到

了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交换。我们用三层结构主要是使项目结构更加清楚,分工更加明确,有利于后期的维护和升级。三层结构包含:表示层(USL),业务逻辑层(BBS),数据访问层(DAL)

1、数据访问层(Data Access Layers,DAL)

主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作。而不必管其他操作。数据层是数据库或者数据源。在.NET 中,通常它是一个SQL Server或Access数据库,但不仅限于此两种形式,它还可能是Oracle,mySQL,甚至是XML。

2、业务逻辑层((Business Logic Layer,BLL)

主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。业务层用于访问数据层,从数据层取数据、修改数据以及删除数据,并将结果返回给表现层。在https://www.doczj.com/doc/5f4973397.html,中,该层包括使用SqlClient 或OleDb从SQL Server或Access数据库取数据、更新数据及删除数据,并把取得的数据放到DataReader或DataSet中返回给表现层。返回的数据也许只有一个整型数字,比如一个表的行记录数目,但这也要用数据层的数据进行计算。业务逻辑层在数据访问层之上,也就是说BLL调用DAL的类和对象。DAL访问数据并将其转给BLL。在https://www.doczj.com/doc/5f4973397.html, 中,该层可以用SqlClient或OleDb从SQL Server或Access数据库取数据,把数据通过DataSet 或DataReader的形式给BLL,BLL处理数据给表现层。有的时候,例如直接把DataSet 或DataReader送给表现层的时候,BLL是一个透明层。

3、表示层(Presentation Layer)

主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。表现层用于用户接口的展示,以及用业务层的类和对象来“驱动”这些接口。在https://www.doczj.com/doc/5f4973397.html, 中,该层包括aspx页面、用户控制、服务器控制以及某些与安全相关的类和对象。

完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层。否则你的应用是不是多层结构,或者说层结构的划分和组织上是不是有问题就很难说。不同的应用有不同的理解,这是一个概念的问题。

2.2 数据库技术

2.2.1 SQL Server 2000 介绍

SQL Server是微软公司开发的数据库产品,SQL Server 2000被广泛使用,很多电子商务网站、企业内部信息化平台等都是基于SQL Server产品上。今天的商业环境要求不同类型的数据库解决方案。性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。除这些核心企业品质外,SQL Server 2000 还为您的数据管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应。SQL Server 2000 为快速开发新一代企业级商业应用程序、为企业赢得核心竞争优势打开了胜利之门。

SQL Sever 2000分为四个版本,分别是个人版,标准版,企业版和开发版。英文名分别是:Personal、Standard、Enterprise、Developer。本文所用的是个人版。

数据库(Database)是与特定主题或用途相关的数据和对象的集合,用于搜索、排序和重新组织数据。数据库存储在文件中。SQL Server数据库可以包含表、视图、存储过程、触发器和数据关系图,还可以包含用户、角色、规则、默认值、用户定义的数据类型和函数以及全文目。

SQL全称是“结构化查询语言(Structured Query Language)”。 SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是象Oracle、Sybase、Informix、SQL server这些大型的数据库管理系统,还是象Visual FoxPro、PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。

2.2.2 SQL Server 2000数据库的常用命令

1、数据记录筛选:

sql="select*from数据表where字段名=字段值orderby字段名[desc]"

sql="select*from数据表where字段名like'%字段值%'orderby字段名[desc]"

sql="selecttop10*from数据表where字段名orderby字段名[desc]"

sql="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、数据记录统计函数:

A VG(字段名)得出一个表格栏平均值

COUNT(*|字段名)对数据行数的统计或对某一栏有值的数据行数统计

MAX(字段名)取得一个表格栏最大的值

MIN(字段名)取得一个表格栏最小的值

SUM(字段名)把数据栏的值相加

引用以上函数的方法:

sql="select sum(字段名)as别名from数据表where条件表达式"

set rs=conn.excute(sql)

用rs("别名")获取统的计值,其它函数运用同上。

6.数据表的建立和删除:

CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)……) DROPTABLE数据表名称(永久性删除一个数据表)

7、记录集对象的方法:

rs.movenext将记录指针从当前的位置向下移一行

rs.moveprevious将记录指针从当前的位置向上移一行

rs.movefirst将记录指针移到数据表第一行

rs.movelast将记录指针移到数据表最后一行

rs.absoluteposition=N将记录指针移到数据表第N行

rs.absolutepage=N将记录指针移到第N页的第一行

rs.pagesize=N设置每页为N条记录

rs.pagecount根据pagesize的设置返回总页数

rs.recordcount返回记录总数

rs.bof返回记录指针是否超出数据表首端,true表示是,false为否

rs.eof返回记录指针是否超出数据表末端,true表示是,false为否

rs.delete删除当前记录,但记录指针不会向下移动

rs.addnew添加记录到数据表末端

rs.update更新数据表记录

SQL广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。SQL语言具有很多优点,简单说来,有如下几点:

1、非过程化语言

SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL 允许用户在高层的数据结构上工作,而无需对单个记录进行操作,可操作记录集。

2、统一的语言

SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、应用程序员、决策支持系统人员及许多其它类型的终端用户。

3、是所有关系数据库的公共语言

由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。

2.3 IIS介绍

IIS是Internet Information Services的缩写,是一个World Wide Web server。Gopher server和FTP server全部包容在里面。IIS意味着你能发布网页,并且有ASP(Active Server Pages)、JA V A、VBscript产生页面,有着一些扩展功能。IIS支持一些有趣的东西,像有编辑环境的界面(FRONTPAGE)、有IIS7全文检索功能的(INDEX SERVER)、

相关主题
文本预览
相关文档 最新文档