基于asp+sqlserver的学籍管理系统设计与实现(毕业论文+程序源码)
大家好,今天给大家介绍基于asp+sqlserver的学籍管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦
文章目录:
1、项目简介
- 本文是在Microsoft ASP框架的集成环境中使用ASP平台、C#语言、SQL Server数据库并结合了WEB技术进行开发的。完成了对日常学生的计算机管理,以及对信息的添加,修改,删除等计算机管理工作。在文中对相关的技术进行了描述,对系统的各个子系统的功能、设计思路及设计方法都作了详细的描述。
2、资源详情
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:22652个字114页
包含内容:整套源码+完整毕业论文+答辩PPT
3、关键词:
MIS;Browser/Server;学生;ASP;管理4、毕设简介
提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。
绪言
1.1 管理信息系统
管理信息系统(Management Information Systems简称MIS)是一个不断发展的新型学科,MIS的定义随着计算机技术和通讯技术的进步也在不断更新,在现阶段普遍认为管理信息系统MIS是由人和计算机设备或其他信息处理手段组成并用于管理信息的系统[10]。
管理信息由信息的采集、信息的传递、信息的储存、信息的加工、信息的维护和信息的使用五个方面组成。完善的管理信息系统MIS具有以下四个标准:确定的信息需求、信息的可采集与可加工、可以通过程序为管理人员提供信息、可以对信息进行管理。具有统一规划的数据库是MIS成熟的重要标志,它象征着管理信息系统MIS是软件工程的产物. 管理信息系统MIS是一个交叉性综合性学科,组成部分有:计算机学科(网络通讯、数据库、计算机语言等)、数学(统计学、运筹学、线性规划等)、管理学、仿真等多学科。随着科学技术的高速发展,MIS涉及的范围还要扩大[10]。
管理信息系统MIS的开发必须具有一定的科学管理工作基础。只有在合理的管理体制、完善的规章制度、稳定的工作秩序、科学的管理方法和准确的原始数据的基础上,才能进行MIS的开发。
1.2 开发系统的必要性
高等院校的学籍管理工作是学校管理工作中一项十分重要的工作,占有十分重要的位置,也是高校日常事务管理中的一个重要环节。随着学校规模扩大,在校学生人数不断增加,加大了学籍管理管理的难度[1]。
然而,长期以来学籍管理工作一直是使用传统人工的管理方式,这样的管理方式存在着:效率低、保密性差,大量的文件和数据难于查找、更新和维护,造成了办事效率低这样的现状。远远不能适应发展的需要。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。应用计算机对高校学生信息进行管理,具有人工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性强、存储量大、保密性能好等。这些优点能够极大地提高学籍管理的工作质量和效率,也是高校学籍管理的科学化、规范化、信息化管理的重要条件。
1.3 技术选定
该在系统主要采用ASP、HTML、Access数据库、VBScript、SQL等技术和工具,整体设计遵循软件工程的方法,经过需求分析、总体设计、文档和代码的编制、模块测试和系统实现几个阶段。下面就对这几种技术和方法做一个概述。
1.3.1 ASP技术介绍
Microsoft Active Server Pages 即我们所称的ASP,其实是一套微软开发的服务器端脚本环境。Active Server Page 是创建动态网页的一个很好的工具,它起一种编程语言的作用,可以利用它编写动态产生HTML的程序代码。因此,只要用户浏览Web站点并请求一个ASP页,Web服务器就可以处理相应的ASP代码,生成HTML代码,然后将它传递到用户浏览器并显示出网页。ASP内含于IIS3.0和4.0之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。有了ASP就不必担心客户的浏览器是否能运行所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。以下罗列了ASP所独具的一些特点:
1.使用VBScript 、JavaScript等简单易懂的脚本语言,结合HTML代码,即可快速地开发应用程序。
2.无须编译,容易编写,可在服务器端直接执行。
3.使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。
4.与浏览器无关,用户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容。ASP所使用的操作控制语言均在WEB服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。
5.ASP能与任何ActiveX scripting语言相容。除了可使用VBScript或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如REXX、Perl、Tcl等。脚本引擎是处理脚本程序的COM(Component Object Model)物件。
6.ASP的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人剽窃,也提高了程序和数据的安全性。
7.可使用服务器端的脚本来产生客户端的脚本。
8.物件导向(Object-oriented)。
9.ActiveX Server Components(ActiveX服务器元件)具有无限可扩充性。可以使用Visual Basic 、Java 、Visual C++ 、COBOL等编程语言来编写你所需要的ActiveX Server Component。
10.另外,ASP技术的处理速度相当快,并且其安全性等同于操作系统的安全性。ASP最重要的优点是能够建立对诸如时间、地点、用户标志、以前的选择和活动等因素敏感的页面。换句话说,可针对每个用户的个别需求,用ASP定制网页,能够满足用户的各种需求。
ASP程序的运行流程见下图:
省略
1.4 SQL语句介绍
SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle ,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。
Structured Query Language包含4个部分:
☆数据查询语言DQL-Data Query Language SELECT
☆据操纵语言DQL-Data Manipulation Language INSERT, UPDATE, DELETE
☆数据定义语言DQL-Data Definition Language CREATE, ALTER, DROP
☆数据控制语言DQL-Data Control Language COMMIT WORK, ROLLBACK WORK
1.4.1 SQL的优点
SQL广泛地被采用正说明了它的优点。它使全部用户,包括应用程序员、DBA管理员和终端用户受益非浅。
1.非过程化语言
SQL是一个非过程化的语言,因为它一次处理一个记录,对数据提供自动导航。SQL允许用户在高层的数据结构上工作,而不对单个记录进行操作,可操作记录集。所有SQL 语句接受集合作为输入,返回集合作为输出。SQL的集合特性允许一条SQL语句的结果作为另一条SQL语句的输入。 SQL不要求用户指定对数据的存放方法。 这种特性使用户更易集中精力于要得到的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,由它决定对指定数据存取的最快速度的手段。查询优化器知道存在什么索引,哪儿使用合适,而用户从不需要知道表是否有索引,表有什么类型的索引。
2.统一的语言
SQL可用于所有用户的DB活动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。基本的SQL 命令只需很少时间就能学会,最高级的命令在几天内便可掌握。 SQL为许多任务提供了命令,包括:
☆查询数据
☆在表中插入、修改和删除记录
☆建立、修改和删除数据对象
☆控制对数据和数据对象的存取
☆保证数据库一致性和完整性
以前的数据库管理系统为上述各类操作提供单独的语言,而SQL将全部任务统一在一种语言中。
3.是所有关系数据库的公共语言
由于所有主要的关系数据库管理系统都支持SQL语言,用户可将使用SQL的技能从一个RDBMS转到另一个。所有用SQL编写的程序都是可以移植的。SQL是PostgreSQL(和大多数其它关系型数据库)用做查询语言的语言。它是可以移植的,并且容易学习使用。但是所有SQL语句都必须由数据库服务器独立地执行。这就意味着客户端应用必须把每条查询发送到数据库服务器,等待它处理这个查询,接收结果,做一些运算,然后给服务器发送另外一条查询。所有这些东西都会产生进程间通讯,并且如果客户端在另外一台机器上甚至还会导致网络开销。如果使用了 PL/pgSQL,那么可以把一块运算和一系列查询在数据库服务器里面组成一个块,这样就拥有了过程语言的力量并且简化SQL的使用,因而节约了大量的时间,因为用不着付出客户端/服务器通讯的过热。通过使用PL/pgSQL,应用可以获得可观的性能提升。
s了
2 系统简介以及系统概要设计
2.1 学籍管理信息系统总体功能简介
学籍管理信息系统是针对各个班级繁杂的党内事务而开发的信息管理系统。根据初期的设计,实现了学生基本情况的管理,党费收缴管理,日常事务的提醒,以及信息发布等几个方面的功能。
2.2 学籍管理信息系统功能模块简介
系统的功能模块包括学籍管理模块和系统管理模块。学生信息管理模块是可以对学生进行查询、录入、修改、删除等操作,动态了解各学生基本信息。系统管理模块是让个系统管理负责人进行系统数据的添加,修改,删除,查询,统计等工作,提高了工作效率。
2.3 系统具体功能描述
2.3.1 学生信息管理模块功能
登陆界面如下图所示:
输入正确用户名和密码,点击“登陆”即可进入。
学生成绩查询界面如下图所示:
选定条件后点击查找按钮进行查找即可。
系统
主菜单界面图如下:
点击左侧对应的链接即可访问相应的功能页面。
学生基本信息录入,按照要求填写好学生的各项基本资料
点击“录入”即可。
2.3.2 系统管理模块功能
公告管理:输入标题和内容点击“发布”即可。
2.4 学籍信息管理系统性能需求
由于学生信息管理系统包含有太多信息,因此,在系统设计的时候除了注重用户的需求,还要保证系统的安全性和可靠性。不同的用户拥有不同的权限,永远最高权限的管理员才能添加,更新,修改,删除数据,只有一般权限的用户(学生)只能读取,浏览信息,保证了系统的安全性。并在保证安全性和可靠性的前提下尽量满足系统的高效性。
2.5 学籍管理信息系统的分析和概要设计
2.5.1 学籍管理信息系统分析
根据实际情况,使用快速原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。这样,可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的功能全部满足。
快速原型法也称为面向对象方法是近年来针对结构程序设计(SA—SD—SP)的缺陷提出的设计新途径,是适应当前计算机技术的进步及对软件需求的极大增长而出现的。是一种快速、灵活、交互式的软件开发方法学。其核心是用交互的、快速建立起来的原型取代了形式的、僵硬的(不易修改的)大快的规格说明[7]。
所谓的快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终系统能完成的功能的一个子集。如下图所示(图中的实线箭头表示开发过程,虚线箭头表示维护过程),快速原型模型的第一步是快速建立一个能反映基本需求的原型模型,并让其在计算机上能试运行,通过实践来了解目标系统的概貌。
图4 快速原型模型
从上图可以看出,快速原型模型是不带反馈环的,这正是这种过程模型的主要优点:系统的开发基本上是线性顺序进行的。系统通过与用户交互而得到验证,据此得到验证正确地描述了用户的需求,因此,在开发过程的后续阶段不会因为发现了设计文档的错误而进行较大的返工。
通过建立原型系统可以学到许多的东西,至少可以知道了“系统该做什么,不应该做什么,以及怎样不去做不该做的”,所以,在设计和编码阶段发生错误的可能性也比较小,这自然减少了在后续阶段需要改正前面阶段所犯的错误的可能性。
快速原型的本质是“快速”。原型的用途是获知用户的真正需求。一旦需求确定下来,原型将被抛弃。因此,原型系统的内部结构并不重要,重要的是,必须迅速地构件原型,然后根据用户的需求迅速的修改原型。
依据此设计思想,通过对用户需求的分析,将学籍管理信息系统大致分为五个模块:学生基本情况管理模块、党费管理模块、日常事务管理模块、预备学生基本情况管理模块,学生干部基本信息管理。
图5 学籍管理信息系统模块示意思图
2.5.2 学籍管理信息系统数据库设计
省略
本管理信息系统根据需求只建立了一个数据库,并在此数据库基础上建立如下用户表[2]:
学生基本信息表 CommyInfo
入党申请人基本信息 AplInfo
入党积极分子基本信息表 ActiveInfo
学生干部基本信息表 CadreInfo
党费交纳基本信息表 PTFee
发展学生基本信息表 DvlpCommyInfo
预备学生基本信息表 PreCommyInfo
党课安排表 Arrange
另外,根据系统维护需要,另外建立两个表,用以存放管理员和系统普通用户信息以便管理。
管理员基本信息表 Admin
用户基本信息表 UserInfo
下面进行详细说明[3]。
正式学生基本信息表 CommyInfo
主键:姓名name
列名(中文) 列名(英文) 数据类型 宽度 是否为空
序号 id int 4 No
班级 depart char 20 Yes
姓名 name varchar 20 No
性别 gender char 2 No
单位(组织) organize varchar 20 Yes
出生日期 bthday smalltime 4 Yes
民族 nation char 5 Yes
籍贯 ntvpl varchar 20 Yes
学历 enducation varchar 6 Yes
入党时间 initiate smalltime 4 Yes
转正时间 worktime smalltime 4 Yes
职务 duty char 20 Yes
备注 remark varchar 50 Yes
表1 正式学生基本信息表
入党申请人基本信息表 AplInfo
主键:姓名 name
列名(中文) 列名(英文) 数据类型 宽度 是否为空
序号 id int 4 No
班级 depart char 20 Yes
姓名 name varchar 20 No
性别 gender char 2 No
出生日期 bthday smalltime 4 Yes
民族 nation char 5 Yes
籍贯 ntvpl varchar 20 Yes
学历 enducation varchar 6 Yes
申请时间 apltime smalltime 4 Yes
党校毕业时间 gradutime smalltime 4 Yes
备注 remark varchar 50 Yes
表2 入党申请人基本信息表
入党积极分子基本信息表 ActiveInfo
主键:姓名name
列名(中文) 列名(英文) 数据类型 宽度 是否为空
序号 id int 4 No
班级 depart char 20 Yes
姓名 name varchar 20 No
性别 gender char 2 No
出生日期 bthday smalltime 4 Yes
民族 nation char 5 Yes
籍贯 ntvpl varchar 20 Yes
学历 enducation varchar 6 Yes
申请时间 apltime smalltime 4 Yes
党校毕业时间 gradutime smalltime 4 Yes
备注 remark varchar 50 Yes
表3 入党积极分子基本信息表
学生干部基本信息表 CadreInfo
主键:姓名 name
列名(中文) 列名(英文) 数据类型 宽度 是否为空
序号 id int 4 No
姓名 name varchar 20 No
院系 depart varchar 20 Yes
职务 duty varchar 20 Yes
联系电话 telephone vachar 15 Yes
表4 学生干部基本信息表
学生基本信息表 DvlpCommyInfo
主键:姓名 name
列名(中文) 列名(英文) 数据类型 宽度 是否为空
序号 id int 4 No
班级 depart char 20 Yes
姓名 name varchar 20 No
性别 gender char 2 No
单位(组织) organize varchar 20 Yes
出生日期 bthday smalltime 4 Yes
民族 nation char 5 Yes
籍贯 ntvpl varchar 20 Yes
学历 enducation varchar 6 Yes
入党时间 initiate smalltime 4 Yes
转正时间 worktime smalltime 4 Yes
职务 duty char 20 Yes
备注 remark varchar 50 Yes
表6 学生基本信息表
预备学生基本信息表 PreCommyInfo
主键:姓名 name
列名(中文) 列名(英文) 数据类型 宽度 是否为空
序号 id int 4 No
班级 depart char 20 Yes
姓名 name varchar 20 No
性别 gender char 2 No
出生日期 bthday smalltime 4 Yes
民族 nation char 5 Yes
籍贯 ntvpl varchar 20 Yes
学历 enducation varchar 6 Yes
申请时间 apltime smalltime 4 Yes
入党时间 initiate smalltime 4 Yes
备注 remark varchar 50 Yes
表7 预备学生基本信息表
党课安排表 Arrange
主键:课次order
列名(中文) 列名(英文) 数据类型 宽度 是否为空
序号 id int 4 No
课次 order char 20 No
时间 date smalldatetime 4 Yes
主题 subject varchar 20 Yes
内容 content varchar 50 Yes
表8 党课安排表
管理员基本信息表 Admin
主键:姓名 name
列名(中文) 列名(英文) 数据类型 宽度 是否为空
姓名 name char 20 No
密码 password char 20 No
表9 管理员基本信息表
用户基本信息表 UserInfo
主键:姓名 name
列名(中文) 列名(英文) 数据类型 宽度 是否为空
序号 id int 4 No
班级 depart char 20 Yes
姓名 username varchar 20 No
性别 gender char 2 No
出生日期 bthday smalltime 4 Yes
民族 nation char 5 Yes
籍贯 ntvpl varchar 20 Yes
学历 enducation varchar 6 Yes
密码 password varchar 20 NO
政治面貌 political char 10 Yes
备注 remark varchar 50 Yes
表10 用户基本信息表
另外,本数据库中的表并未定义外键,数据的一致性保持通过程序来完成。
3 学籍管理信息系统的具体实现
3.1 MicrosoftASP简介
Microsoft ASP战略基于一组开放的互联网协议,推出了一系列的产品、技术和服务,吹响了一次互联网技术变革的号角 。首先为了对Microsoft ASP开发框架有一个整体的认识,如下图所示[4]:
图6 Microsoft ASP开发框架
从上图可以简要的了解ASP开发框架的几个主要组成部分:首先是整个开发框架的基础,即通用语言运行时以及它所提供的一组基础类库;在开发技术方面,ASP提供了全新的数据库访问技术ADO ASP,以及网络应用开发技术ASP ASP和Windows编程技术Win Forms。而其中的ASP是下一代ASP(Active Server Page),是ASP构架的重要组成部分。超绝的性能加上微软的实力,可以预见不久ASP将成为互联网开发的首选。
3.2 运用ASP技术操作数据
3.2.1 ASP简介
ASP不仅仅是下一版本的Active Server Page (ASP);它是统一的Web开发平台,用来提供开发人员生成企业级Web应用程序所需的服务。ASP的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,用于生成更安全、可伸缩和稳定的应用程序。可以通过在现有ASP应用程序中逐渐添加ASP功能,随时增强该ASP应用程序的功能[5]。
ASP是一个已编译的、基于 ASP的环境,可以用任何与 ASP兼容的语言包括Visual Basic。NET、C# 和JScript ASP.)创作应用程序。另外,任何ASP. NET应用程序都可以使用整个 ASP框架。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
ASP的结构中, IIS(Internet Information Services)为Windows NT/2000/XP操作系统的一个组件,所有Web客户端和ASP应用程序之间的联系都必须通过IIS来进行。ASP应用程序是建立在ASP框架技术的基础上的,因此在这些应用程序中可以充分利用由ASP框架技术提供的各种特性(例如Web表单和Web服务),通过对这些特性的利用,体现ASP框架技术对RAD(Rapid Application Development)和OOP(Object-Oriented Programming)技术的支持,实现减少编程工作量和快速开发的目标。
下面的篇幅,本文将主要介绍利用ASP连接数据库,并利用Web表单控件DataGrid来显示、操作从数据库中读取的数据的方法。
3.2.2 ASP与数据库
在Internet还没有开始流行的年代,Client/Server体系的二层结构是局域网环境中数据库应用系统的主流结构。随着Internet的渗透,数据库应用系统开发及实施的方法发生了重大的变化,从Client/Server体系的二层结构扩展到了由Web浏览器、应用服务器、数据库服务器组成的Browser/Server体系的三层结构。在如图8所示的三层结构的数据库应用系统中,客户端不需要安装什么设备与软件,只需要一个Web浏览器,负责显示应用服务器端的运行结果,借助于Java Applet、VBScript、JavaScript、ActiveX等技术进行一些简单的客户端事务处理。应用服务器端负责接受远程或本地的页面请求,然后运行服务器端脚本,借助于CGI、ADO等中间部件把数据请求发送到DB Server上以获取相关数据,再把结果数据转化成HTML及各种脚本传回客户端的Web浏览器。数据库服务器端负责管理数据库,处理数据更新及完成查询要求、运行存储过程[6]。
在早期的文件服务式Web应用中,页面都是静态的,发布数据是由手工完成的,需要付出大量的劳动力,才能更新数据。如何动态发布数据,乃至实时刷新数据,成为动态Web数据库应用系统得以实现的关键技术。在ASP框架技术没有推出之前,很多动态Web应用都是运用ADO和ASP技术来实现的,通过这两种技术的运用,可以很好地实现页面的动态更新。但是与ASP框架技术相比较,运用ADO和ASP技术实现的动态Web应用需要进行大量的编程工作,而在ASP框架技术中提供了一些功能非常强大的窗体控件,可以节省大部分的编程工作。
开发动态Web数据库应用系统,主要使用到ASP框架技术中的ADOASP组件和ASP技术。其中ADOASP组件用来实现数据库连接、检索数据、更新数据;ASP技术用来实现对数据的显示、编辑[12]。
3.2.3 运用ASP技术操作数据
(2) 建立连接。利用SqlConnection对象的ConnectionString属性可指定连接参数[4]。例如:
Protected System.Data.SqlClient.SqlConnection MysqlConnection;
MysqlConnection=new SqlConnection(connectionString);//初始化联接
MysqlConnection.Open();//打开联接
(3) 读取数据。利用SqlDataAdapter对象的Fill方法可将数据库中的数据读到DataSet中。例:
Protected System.Data.SqlClient.SqlDataAdapter MySqlDataAdapter;
MyDataAdapter = new SqlDataAdapter(“SELECT * FROM CommyInfo”, MysqlConnection); //初始化一个适配器
protected System.Data.DataSet MyDataSet;
MyDataSet = new DataSet();
MySqlDataAdapter.Fill(MyDataSet, “table1”);
(4) 更新、删除、插入操作。利用SqlCommand对象设置相应的SQL命令来完成相应的操作。例:
执行查询SQL的语句,返回一个数据表:
public static DataTable executeQuery(string QueryString)
{
DataTable MyDataTable=new DataTable();//初始化数据表
DataSet MyDataSet=new DataSet();
try
{
MysqlConnection .Open();
SqlDataAdapter sqlDataAdapter=new MySqlDataAdapter(QueryStrng,MysqlConnection); //初始化一个适配 器
MysqlDataAdapter.Fill(MyDataSet,”Table”);//利用Fill方法将数据库中的数据读DataSet中
MyDataTable=MyDataSet.Tables[”Table”];
}
catch(Exception e)
{
MessageBox.Show(e.Message.ToString());
}
return MyDataTable;
}
执行非查询语句,对数据库进行操作:
public static void executeNonQuery(string cmdText)
{
try
{
MysqlConnection .Open();
SqlCommand MySqlCommand =new SqlCommand(NonQueryString, MysqlConnection);
MySqlCommand.ExecuteNonQuery();
}
catch(Exception e)
{
MessageBox.Show(e.Message.ToString());
}
}
3.2.4 DataGrid控件的数据绑定
MyDataGrid.DataSource=MyDataSet.Tables[”Table”];;
MyDataGrid.DataBind();
3.2.5 DataGrid控件的定义
<asp:DataGrid id=”DataGrid1” runat=”server” DataKeyField=”id” Font-Size=”Smaller” PageSize=”8” AllowPaging=”True” AllowSorting=”True” AutoGenerateColumns=”False” CellPadding=”4” BackColor=”White” BorderWidth=”1px” BorderStyle=”None” BorderColor=”#CC9966” Height=”316px” Width=”878px”>
</asp:DataGrid>
如下图所示:
图9 DataGrid示意图
DataGrid在输出HTML是设计成以表格的形式输出数据。每一条记录输出时会建立一对标签,而每个字段的值输出时则建立一对标签。
DataGrid含有几个属性可以提高其可用性。如,通过设置DataGrid的AllowSorting属性为true,并加入少量代码,DataGrid就具备了按不同字段排序的功能。此外,设定相关属性来实现分页以及单条记录编辑的功能更加增强了DataGrid的可用性。除了在可用性方面的支持以外,DataGrid同时也相当节省开发时间。使用DataGrid在WEB页面上显示数据只需要两行代码。一行用来设定与DataGrid绑定的数据源(DataSource),另一条则用来执行绑定命令(DataBind()。
7 又再,DataGrid控件的AutoGenerateColumns属性的功能,此属性的默认值为true。当设置为true时,DataGrid将使用reflection检查其数据源和对象,并为每个公用属性或字段创建一个列。若DataGrid的AutoGenerateColumns属性被设置为假,会阻止控件自动生成列,而让用户负责定义将要在表中表示的列。
这样有许多好处:
8 可控制列的顺序。以声明的顺序表示列。另一方面,自动生成的列是用映像检索到的顺序表示的,此顺序不必与代码中的列顺序或数据库表本身的列顺序相匹配。
9 可以用列的headerText属性来指定每列的标头。在前一个示例中,列标头指明了字段名,这可能并不合适。当在此模式下使用控件时,Columns还提供其它可设置的属性。
10 自动生成的列的类型始终是BoundColumn。指定列集合使用户可以控制每列的类型。
每个在DataGrid中的列都是DataGridColumn类的一个实例。有四种DataGrid列的形式:
1 BoundColumn 绑定列
2 ButtonColumn 按钮列
3 HyperLinkColumn 超级链接列
4 TemplateColumn 模板列
每种类型都会以一种方式允许页面访问与DataGrid进行交互。BoundColumn将DataSource的字段值显示为纯文本;ButtonColumn不绑定任何的字段,它包含有五种DataGrid的事件:DataGrid1_SelectedIndexChanged选择,DataGrid1_EditCommand编辑,DataGrid1_CancelCommand取消,DataGrid1_UpdateCommand新,DataGrid1_DeleteCommand删除,只需要添加少量代码,DataGrid就具备对绑定数据进行删除,更新的功能;HyperLinkColumn将其显示为一个超级链接;TemplateColumn则是将绑定了的字段列转换为可以编辑的模板。另外,开发者可以通过写一个继承自DataGridColumn的自定义类来定制DataGrid列的样式。
因为DataGrid是从WebControl得到的,所以DataGrid控件继承了诸如Width、BackColor、BorderStyle和Font.Name之类的样式属性。此外,DataGrid提供诸如CellPadding这样的属性,这些属性是特定于表的。这些属性允许从总体上定制控件。设置的若干项目样式,如headerStyle和Alternating 、ItemStyle。这些样式控制着它们相应项目的外观。
DataGrid还允许格式化其单元格中的文本内容。这是通过设置Bound Column的DataFormatString属性值完成的。该列使用其格式说明格式化使用String.Format的单元格内容。此属性可随格式化类型(如日期或货币)一起预置或附加任意内容。此外,由于格式考虑了当前页的CultureInfo和请求,所以它也支持全局化。如果未指定格式,则使用该值的ToString方法。
DataGrid处理命令事件,该事件是通过包含在其项目中的按钮触发的。它识别标准命令,该命令使其更改它的属性,并通过触发此事件来将此更改通知用户的代码。如下例子说明如何通过处理DeleteCommand事件,利用DataGrid中的选择:
Private void DataGrid1_DeleteCommand( object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
String StrSql=”Delete From commyinfo Where ID=”+DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
MysqlConnection .Open();
SqlCommand MySqlCommand =new SqlCommand(NonQueryString, MysqlConnection);
MySqlCommand.ExecuteNonQuery();
}
此 .cs文件包含处理DeleteCommand事件以及在DataGrid下显示选定标题的ID的逻辑。DataGrid处理命令事件,该事件是通过包含在其项目中的按钮触发的。它识别标准命“Delete”,并通过触发此事件来将此更改通知用户的代码。ID是通过访问DataKeys集合进行检索的。该集合是因为设置了DataKeyField属性而置入的。通常,将它设置为主关键字或使用户可以唯一标识项目的某些其它字段,并将此信息用作后续的数据库查询或过滤数据中的准则。
由以上可知DataGrid是迄今为止功能最为丰富的控件,DataGrid具有这么多的增强可用性的属性。但是尽管DataGrid有这样那样令人印象深刻的优点,它的两个缺点也同样不能忽视。首先,如前所述,DataGrid在个性化输出数据方面功能有限。当然,可以定制字体、颜色以及线条宽度等等,但它始终只能是HTML表格。DataGrid的第二个缺陷是它的性能。相对于DataList ,Repeater来说,DataGrid性能要差一些。由DataGrid所生成的ViewState相当庞大,特别是在DataGrid含有较多的行时。当然,可以关闭ViewState功能,但代价是将不能使用排序、分页以及记录编辑等功能。但是,取精去糟来说,DataGrid还是提供了不少的方便。
3.2.6 总结
从实践容易看出,利用ASP框架技术进行动态Web数据库应用系统的开发十分便捷。在应用程序中可以充分利用由ASP框架技术提供的各种特性(例如Web表单和Web服务),通过对这些特性的利用,体现ASP框架技术对RAD(Rapid Application Development)和OOP(Object-Oriented Programming)技术的支持,实现减少编程工作量和快速开发的目标[13]。
4 结束语
经过三个多月的设计和开发,学籍管理信息系统基本开发完毕。其功能基本符合用户需求,实现了基本信息的添加、删除、更新、浏览,党费收缴管理,日常事务的提醒,以及信息发布等几个方面的功能。基本实现了初期的设计。本学籍管理信息系统是ASP技术与SQL数据库相结合的成果。它简单、实用,通过人机对话的动态交互方式获取所需信息,操作简单,易用。
省略
参考文献
2 发展学生工作手册. 北京:党建读物出版社,2003年.
3 萨师煊,王珊. 数据库系统概论. 北京:高等教育出版社,1991年.
4 闪四清. 数据库系统原理与应用. 北京:清华大学出版社,2001年 .
5 陈英学. ASP深入编程. 北京:北京希望电子出版社,2001年.
6 明月创作室著. ASP编程精彩百例. 北京:人民邮电出版社,2002年.
7 刘福太等译. ASP高级编程. 北京:机械工业出版社,2000年.
8 张海藩. 软件工程. 北京:人民邮电出版社,2002年.
9 刘杨等编著.突破C#编程实例五十讲. 北京:中国水利水电出版社,2002年.
10 ASP完全入门. http://www.8e8ASP/soft.
11 黄梯云. 管理信息系统. 北京:高等教育出版社,2003年.
12 Alex Homer and Dave Sussman. Inside ASP Web Matrix. Published by Wrox Press Ltd, 1999.
13 Mesbah Ahmed and Chris Garrett and Jeremy Faircloth Chris Payne DotThatCom.com. ASP Web Developer’s Guide. Published by Syngre Publishing, Inc, 2000.
14 Karil Watson. marco bellinaso. Beginning C#. 北京:清华大学出版社,2003年.
致谢
省略文章来源:https://www.toymoban.com/news/detail-460986.html
5、资源下载
本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。文章来源地址https://www.toymoban.com/news/detail-460986.html
序号 | 毕业设计全套资源(点击下载) |
---|---|
本项目源码 | 基于asp+sqlserver的学籍管理系统设计与实现(源码+文档)_asp_BS架构_学籍管理系统.zip |
到了这里,关于asp毕业设计——基于asp+sqlserver的学籍管理系统设计与实现(毕业论文+程序源码)——学籍管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!