奖学金管理系统(共31页).doc
精选优质文档-倾情为你奉上目 录专心-专注-专业奖学金管理系统设计与实现摘 要:本系统是基于个人网页设计为基础的一个奖学金管理系统,采用的是ASP.NET+ACCESS技术结合的模式的信息管理平台,研究基于B/S模式的在线管理的实现。该管理系统主要通过Microsoft Visual studio 2008进行前台设计,而利用页面访问Access数据库实现网站的设计与研发。进而实现用户注册,用户权限登录及管理用户、信息等功能。改变传统的奖学金管理方式,可以大大减轻各部门的工作量,方便奖学金评选的真实性和公开性。使奖学金管理工作能够更加多样、灵活、高效,极大的适应日益变化的社会。关键词:奖学金管理;ASP.NET;ACCESS;B/S模式 1绪论随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,在这数字化的时代里,学校的教学管理受到了极大的挑战。Internet技术持续迅猛的发展也给传统的教学管理提出了新的模式。奖学金管理工作是学生管理的中心工作,历来受到各高校的高度重视。因此提高工作效率和精确率成为奖学金自动化管理的新要求,以现代计算机技术、网络技术为基础的数字化奖学金自动化管理系统主要是朝着信息化、网络化的目标迈进。通过这样的系统,可以做到信息规范化管理、科学统计和快速查询,从而减少奖学金评定方面的工作量。1.1奖学金管理系统的介绍 奖学金管理系统是以我校的实际情况开发的一种信息共享平台,是以数据库与网站的连接构成的,界面对于数据库的访问,实现查询、插入、删除、修改信息等功能。不同的用户以不同角色来登录,进而实现权限控制。通过Microsoft Visual studio 2008与Access 2003 数据库软件的设计,深刻了解网站开发的设计过程。1.2课题研究背景当今社会是一个信息时代,计算机技术发展迅速,同时信息的自动处理以及网络式的信息交互方式越来越被人们认可和应用,让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。奖学金管理系统与传统的奖学金申请方式相比更加节约资源,同时,随着学生奖学金申请自主权的增加,奖学金管理系统有效的避免了许多不良现象,使教学更加透明。1.3课题研究目的奖学管理系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生奖学金申请系统应该能够为用户提供充足的信息和快捷的查询手段。但是一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差、时间长、将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已深入到人类社会的各个领域并发挥着越来越重要的作用。1.4课题研究的意义随着我国高等教育事业的不断发展,高等学校的在校学生人数已由最初的几万人发展到如今的数百上千万人,那些传统的教学管理模式已经远远不能适应一些新的情况,并且在各个管理层面上纷纷暴露出许多缺陷与不足。尤其对于奖学金的评比方式表现得尤为突出。为了避免人为因素的干扰,提高奖学金评比工作人员的工作效率,适应网络时代发展的需求,开发一个网络管理系统。无纸化考试的兴起,传统的评比方法却未得到本质上的转变,各种大量重复单调的工作,仍需耗费巨大的人力、物力资源,又加上近些年政府推进好的政策,仅仅靠原始的手工管理,面对大量的奖学金评比管理信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。决策只能依据报表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此,先进的管理思想在学校中实现就成为了一个可望而不可及的目标。作为计算机应用的一部分,使用计算机对学生奖学金方式进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。正是科学化、正规化管理的重要条件。因此,开发这样一套管理软件成为很有必要的事情。2.系统开发环境2.1系统开发环境和运行环境开发环境:操作系统:Windows 7数据库系统:Access 2003开发工具:Microsoft Visual studio 2008开发语言:C#辅助工具:Photoshop CS 3运行环境:1)Microsoft visual studio 2008的软件要求:表2-1 Microsoft visual studio 2008的软件要求表项目配置系统系统结构32位及64位操作系统Windows 2003或更高版本或Windows 7网络协议TCP/IP2)Web浏览器Microsoft visual studio 2008支持的Web浏览器:Microsoft Internet Explorer 6.0及以上3)硬件确保Microsoft visual studio 2008应用的最低安装要求:(1)配置2.00 GHZ或更快的处理器的计算机(2)512M或更大的内存(3)7.5 GB的可用磁盘空间(4)5400 RPM硬盘(5)以1024×768或更高的显示分辨率运行的支持Directx 9的视频卡2.2开发工具介绍 整个系统所用的开发工具有:Microsoft visual studio 8、Access 20032.2.1 ASP.NET技术概述ASP.NET 是一种服务器端脚本技术,可以使(嵌入网页中的)脚本由 Internet 服务器执行。ASP.NET 是一项微软公司的技术。ASP 指的是动态服务器页面(Active Server Pages)。ASP.NET 是一种在 IIS 中运行的程序。IIS (Internet Information Services) 是微软的 Internet 服务器。IIS 是 Windows servers 操作系统免费捆绑的组件。IIS 也是 Windows 2000 和 XP 专业版的组成部分。 ASP.net是M的一部分,作为战略产品,不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,它并不是ASP的简单升级,而是全新的一个动态网页实现体系。ASP.Net是微软发展的新的体系结构.NET的一部分,其策略是将互联网本身作为构建新一代操作系统的基础,对互联网和操作系统的设计思想进行合理延伸,这样开发将可创建出摆脱设备硬件束缚的应用程序,轻松实现互联网连接。随时增强 ASP 应用程序的功能。 ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。 ASP.NET 的功能特点: (1)简化开发操作虽然ASP,PHP等语言很容易使用,但是网页程序过大时会显得相当复杂。ASP.NET在代码编写方面最大的特色是将页面逻辑和分开,它分离程序代码与显示内容,使网页更容易编写,同时程序代码看起来更洁净、更简单。(2)语言独立性在使用ASP制作网页时可以使用多种语言来编写程序,但是这些只限于脚本语言,如VBScript, Jscript。ASP.NET则允许使用编译式的语言,提供较好的执行效率和跨语言的兼容性,如VB.NET,C#,等等,另外有一些合作厂商也提供开发.NET应用程序的支持,如Perl、Pascal、Cobol等。(3)提高执行效率由于ASP.NET的程序代码是编译过的,所以执行时会比ASP的执行方式快很多。另外,ASP.NET也提供快取的能力,有效的缩短服务器的应答时间(如图ASP和ASP.NET编译方式的比较)。 4)简化部署与组件的操作在ASP中调用组件,程序的部署过程会变得非常复杂。目前组件使用都需要复杂的注册操作,同时组件在使用中经常会被锁定而无法更新版本。在ASP.NET中不需要考虑组件注册的问题,直接将文件复制到目的计算机相应的目录下就可以了。(5)增进适用性ASP.NET能解决应用程序故障。对于的情况,能自动重新启动进程以增进适用性,从来不死机。任何会造成内存泄露的程序代码或产生无穷循环或没有关闭使用的资源的程序代码将只会影响到一条线程。(6)更佳的安全机制在ASP中唯一能使用的验证方式是Windows Authentication; 而ASP.NET则提供三种不同的登陆验证方式:Windows、Passport 和 Cookie。也可以利用Impersonation功能,使用登陆者的权限执行一些程序代码或存取资源。(7)支持下一代的Web Service简单的说,Web Service是指可以跨Internet调用的应用程序,提供应用程序重复使用的功能,它能使两个不同的系统拥有一个沟通的管道。(8)Session 可以跨进程、跨机器使用ASP.NET,Session的状态可以在不同计算机的不同进程中维护,以解决Web Farm的Session维护问题。2.2.2 Access 数据库简介Access 是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。 Access是一种关系型数据库管理系统,其主要特点如下:(1)存储方式单一 Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。(2)面向对象 Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便(3)界面友好、易操作 Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。(4)集成环境、处理多种数据信息 Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。(5)Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。 好的数据库管理系统必然有一个相对最优的配置方案。系统配置要根据。用户的实际情况设计,主要根据就是系统的吞吐量和系统对稳定性的要求。2.2.3 B/S构架简介 B/S模式,即Browser/Server(浏览器/服务器)模式,是随着Internet技术的兴起,是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件,对C/S模式的一种变化或者改进的结构。B/S模式主要利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、javascript、)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大的功能。与C/S模式相比,它大大简化了客户端,客户端只要装上操作系统、网络协议软件以及浏览器即可。这时的客户机成为瘦客户机,而服务器端则集中了几乎所有的应用逻辑,开发、维护等工作也都集中在服务器端。同时,对应用软件进行升级时,只需要更新服务器端的软件就行了,所有的客户端只有浏览器,根本不需要做任何维护升级的工作量。所有的操作系统只需要针对服务器进行,从而减轻了系统维护与升级的成本与工作量,使用户的总体拥有成不(TCO)大大降低这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展性非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。B/S架构软件的优势与劣势:(1)维护和升级方式简单。 目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。 (2)成本降低,选择更多。 大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。 (3)应用服务器运行数据负荷较重。 由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。 B/S的架构体系使应用系统的性能、安全性、扩展性有了很大的提高,也方便了系统的维护和管理。其结构示意图如下图2.1所示。图2.1 B/S结构示意图3 需求分析要实现一个软件系统,首先应该进行需求分析,只有的现象进行了充分的需求分析和调查,才能设计出满足用户各项要求,以免出现半途而废的现象。需要分析是关于数据库信息管理系统开发的第一步也是最重要的一步。需求分析就是描述系统的需求,通过定义系统中的关键域类来建立模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制,因此,系统的需求分析应该是开发人员和用户或者客户一起完成。需求分析可以采用面向对象的方法来完成,即明确系统要服务于哪些用户,对这些用户提供哪些服务等。以下是为设计奖学金管理系统进行的需求分析。3.1功能需求该系统的功能如下所示:1.系统权限设置:系统用户分角色进入系统,并且通过密码验证进入系统。2.系统管理员设置:允许系统管理员添加和删除用户,添加删除学校相关部门信息。3.用户设置:允许用户注册进入系统的前台体系,并对信息进行查询、更新、删除等功能操作。其中:学生用户对于系统的设置有:学生是学校的主体,也是作为奖学金管理系统中最主要的用户类型,系统需要对于学生的基本信息进行存储,包括学生姓名、学号、班级、系部等教学相关信息建立和存储。同时通过基本信息承载单元的建立,实现奖学金块数据交互等部分的操作。辅导员用户对系统的设置有:辅导员用户在学生工作中处于相关用户,该类用户对于学生的成绩上传,奖学金管理系统相关信息的查询、管理和评定等操作。以上各功能的实现都要以Access2003数据库为依托,所以对数据库中相应字段的设置也要有所注意,以免出现类型不匹配等问题,影响了两端操作的正常进行。3.2 性能要求 一般的性能要求是指相互消息传递顺利,协议分析正确,界面友好,运行时间满足使用要求,安全性得到安全保证。 就实际情况,在高系统配置、高网络宽带很容易得到保证的情况下,我们最需要考虑的性能需求就是系统安全性问题。在开发系统的每个阶段,均需要考虑彼此间的认证与授权。尤其要注意认证,简单地说就是确定谁是特定用户,并针对角色验证用户的身份。在处理完识别用户的方法之后,必须开发一种方法以向用户授权,从而能够使用系统的特定功能。 根据用户对奖学金管理系统的要求,该系统应满足下列要求: (1)系统应建立友好的界面,要求使用户既要操作简单、直观、灵活,又要易于学习掌握;对于后台管理模块来说,管理员可以实现对用户的管理和维护。 (2)系统在确定用户名、密码及角色后,应具有自动连接数据库的功能,可以通过该系统参与奖学金的相关操作。在正确连接数据库后,首先应对用户名和密码进行检验,若没有此用户或者密码及角色错误应给出相应的提示,也可以注册用户,系统根据信息判断写入数据库,且判断授予其权限。 (3)系统可扩展、易维护。系统应充分考虑到国家政策及奖学金管理的变化等等,具备一定的扩展能力。系统的模块化程度要高,软件维护要方便。3.3总体需求根据功能需求和性能需求,了解了整体的流程:首先由辅导员将成绩、奖学金相关信息保存到数据库中,然后在进行发布。所有用户均可以进行查询或操作等。通过对本系统的需求分析,系统的基本功能已经确定。整个系统的总体框架图如图3.1所示: 图3.1总体框架图4 系统设计4.1系统模块设计通过对奖学金系统管理工作的实际调研,剖析系统模块及系统需求,确定本系统由5大功能模块组成,分别是用户管理,学生信息管理,学生成绩管理,奖学金评定管理,新闻公告管理。具备用户的添加和删除、学生成绩的导入导出,便于各个用户查询、学生基本信息及新闻公告的查询、修改和删除等功能。其功能划分如下图4.1所示。图4.1 奖学金管理系统功能结构图 奖学金管理其功能模块分析,对系统的设计起到重要的作用,在功能模块分析过程中,我们可以更加了解该系统的功能,以及系统应该实现的操作和管理。并且根据模块分析来一步步的做出系统,线路清晰,不会出错混乱。可以画出系统的功能模块图,从学生界面、辅导员界面及管理员界面分别对功能模块图加以描述。 学生界面的功能模块如图4.2所示。图 4.2学生界面的功能模块 辅导员界面的功能模块如图4.3所示图 4.3辅导员界面的功能模块管理员界面的功能模块如图4.4所示。图 4.4管理员界面的功能模块4.2数据库分析和设计 4.2.1数据库分析 用户的需求具体体现在各种学习成绩的提供、保存、更新和查询方面,这就是数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。 通过系统功能分析,针对一般的奖学金管理系统,总结出如下的需求信息:用户分学生用户、辅导员用户及管理员。学生用户可以查看公告信息、管理个人信息及申请奖学金。辅导员用户可以查看公告信息、管理学生信息及学生成绩、管理奖学金申请及审核工作。管理员用户拥有整个系统后台的所有管理功能及学院部门的管理工作。 经过系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:学生信息,包括数据项:学号,用户名,密码,系部班级等。辅导员信息,包括数据项:ID(系统自动编号),用户名,密码等。管理员信息,包括数据项:ID(系统自动编号),用户名,密码等。4.2.2 业务流分析奖学金管理系统工作流程为:系统启动进入系统界面,根据不同权限的用户进行分别操作。学生用户进行注册、成绩与公告查询,并提出奖学金申请等操作。辅导员根据申请情况进行评定与信息查询,并且有添加、修改、删除奖学金项及公告的权限。本系统的业务流程如图4.5所示图4.5 业务流程图 4.2.3数据表分析数据表是数据库的重要组成部分,了解表结果与组成是设计数据库这一部分的关键,以下表4.1是奖学金系统的系统数据表及其用途。表4.1系统数据及其用途表数据表名称 数据表用途admin 用于存储管理员信息student 用于存储学生的相关信息teacher 用于存储辅导员的相关信息apply 用于存储奖学金申请的信息bill 用于存储新闻公告的信息grade 用于存储学生成绩的信息examine 用于存储奖学金审核情况的信息class 用于存储班级信息department 用于存储系部信息4.2.4 数据库概念设计概念设计是对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中信息的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。其总体E-R关系图如下图所示: 图4.6 总体E-R图 设计规划出的实体有:管理员信息实体、学生信息实体、辅导员信息实体、管理员信息实体、新闻公告信息实体及学生成绩实体,各个信息实体E-R图如下所示:图4.7学生信息实体图图4.8辅导员信息实体图图4.9管理员信息实体图图4.10新闻公告信息实体图图4.11学生成绩信息实体图4.2.5 数据库逻辑结构设计该网站涉及到教师用户、学生用户、教务处用户、管理员等实体,根据各实体之间的关系,建立系统的E-R图。数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。 奖学金管理系统数据库中各个表的设计结果如表所示。每个表格表示在数据库中的一个表。admin(管理员)表的详细字段如表4.2所示表4.2 admin(管理员)表字段名备注类型ID编号数字(自动编号)user用户名文本pass密码文本2)xs(学生)表的详细字段如表4.3所示表4.3 xs(学生)表字段名备注类型stuno学号文本user用户名文本pass密码文本sex性别文本Name姓名文本Email邮件文本Orinal系部班级文本Address地址文本Remarks家庭情况文本3)fdy(辅导员)表的详细字段如表4.4所示表4.4fdy(辅导员)表字段名备注类型ID数字(自动编号)user用户名文本pass密码文本5)bill(新闻公告)表的详细字段如表4.5所示表4.5 bill(新闻公告)表字段名说明类型ID数字(自动编号)Title标题文本Content内容文本Author发布人文本UpTime发布时间文本6)grade(学生成绩)表的详细字段如表4.6所示表4.6 cj(学生成绩)表字段名说明类型Stuno学号数字(自动编号)Name学生姓名文本Math数学成绩数字English英语成绩数字Pc计算机成绩数字Chinese汉语言数字4.2.6数据库连接以vs2008作为前台开发工具,Access2003为后台数据库开发平台,在B/S设计模式下对数据库信息进行管理和操作。实现数据库连接是建设网站的重要组成部分,通过数据库的统计和规范计算,可以做到快速查询和科学统计,使网站更加完善更加稳定,从而减少管理方面的工作量。连接Access数据库需要导入额外的命名空间using System.Data和using System.Data.OleDb。其数据库代码设置如下:string str = "provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + Server.MapPath("App_data/jxj.mdb") + "" OleDbConnection con = new OleDbConnection(str); OleDbCommand cmd = new OleDbCommand(sql, con); str变量里存放的是连接数据库的连接字符串,他指定了要使用的数据提供者和要使用的数据源。"Provider=Microsoft.Jet.OleDb.4.0;"是指数据提供者,这是Microsoft Jet引擎,也是Access中的数据引擎,就是靠这个和Access的数据库连接的。 Data Source=" + Server.MapPath("App_data/jxj.mdb")是指明数据源的位置,他的标准形式是"Data Source=MyDrive:MyPathMyFile.MDB"。而 OleDbConnection con = new OleDbConnection(str);是利用定义好的连接字符串来建立了一个链接对象,从而实现数据库的连接。5功能实现与系统测试5.1功能实现5.1.1系统登录模块的实现 奖学金管理系统的用户涉及两个问题:一是用户登录授权,二是登陆后用户的权限划分。首先需要判断一个用户是否为合法用户。在数据库中建立一张允许进入系统的用户名单,当用户要求登录系统的时候,系统通过数据库里的信息判断他是否为合法用户,即验证的过程。在登陆界面,登录用户名和密码,选择角色,进入相应的界面,从而实现分配权限的功能。登陆界面如下图5.1所示。图5.1登陆界面 登录页面后台部分代码如下:protected void Button1_Click(object sender, EventArgs e) util util = new util(); if (user.Text = "") util.Show(this, "请输入用户名!"); user.Focus(); return; if (pass.Text = "") util.Show(this, "请输入密码!");pass.Focus();return; if (role.SelectedItem.Text="管理员") string sql; sql = "select count(*) from admin where user='" + this.user.Text + "' and pass='" + this.pass.Text + "'" string str = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("App_Data/jxj.mdb") + ""/使用相对路径 OleDbConnection con = new OleDbConnection(str);/构造连接对象 OleDbCommand cmd = new OleDbCommand(sql, con); con.Open(); int state = Convert.ToInt32(cmd.ExecuteScalar();if (state > 0) Response.Write("<script language=javascript>alert('登陆成功!');location='javascript:history.go(-1)'</script>"); Response.Redirect("welcome3.aspx"); con.Close(); else/如果数据中没有记录或有多条记录则抱错 Response.Write("<script language=javascript>alert('用户名或密码错误!');location='javascript:history.go(-1)'</script>") con.Close(); if (role.SelectedItem.Text = "辅导员") string sql; sql = "select count(*) from fdy where user ='" + this.user.Text + "' and pass='" + this.pass.Text + "'"/建立sql查询语句 string str = "provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + Server.MapPath("App_Data/jxj.mdb") + ""/使用相对路径 OleDbConnection con = new OleDbConnection(str);/构造连接对象 OleDbCommand cmd = new OleDbCommand(sql, con);con.Open();int state = Convert.ToInt32(cmd.ExecuteScalar();if (state > 0) Response.Write("<script language=javascript>alert('登陆成功!');location='javascript:history.go(-1)'</script>"); Response.Redirect("welcome1.aspx"); con.Close(); else/如果数据中没有记录或有多条记录则抱错 Response.Write("<script language=javascript>alert('用户名或密码错误!');location='javascript:history.go(-1)'</script>"); con.Close();if (role.SelectedItem.Text="学生") string sql; sql = "select count(*) from xs where user='" + this.user.Text + "' and pwd='" + this.pass.Text + "'"/建立sql查询语句 string str = "provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + Server.MapPath("App_Data/jxj.mdb") + ""/使用相对路径 OleDbConnection con = new OleDbConnection(str); OleDbCommand cmd = new OleDbCommand(sql,