基于web的学生管理系统论文内容摘要:

称 数 据 结 构 说 明 是否必填项 ChangeId Bit4 学籍变动编号 Student_id Nvarchar10 学生学号 ChangeType Nvarchar10 学籍变动类型(退学,休学,转学,调班) ChangeDate Datetime8 学籍变动日期 NULL OriClass Nvarchar5 原班级编号 NULL NewSchool Nvarchar50 转入学校名称 NULL NewClass Nvarchar5 转入的班级编号 NULL Resson Nvarchar200 学籍变动原因 NULL Memo Nvarchar200 备注 NULL 用户信息表 USERS 字 段 名 称 数 据 结 构 说 明 是否必填项 USERNAME Nvarchar10 用户名 PASSWORD Nvarchar10 密码 STUDENTID Nvarchar10 学生学号 CONTROL Bit1 管理员 NULL 15 第四章 详 细 设 计 在实现的过程中,我们使用了 典型的三层架构。 中的三层结果开发方法,其实其思想跟 Java 的一样。 Java 中 的三层架构为前端的 html、Jsp、 Servlet,中间层为 JavaBean、 EJB,后面为数据库服务器。 而在 中,前段为 html、 asp、 aspx 等,中间层为有 .vb、 .cs 等文件编译而成的 .dll 控件,后面为数据库服务器。 在我们的三层架构中,我们的数据库层通过中间层来连接以及操作,前端给中间层传递参数,并接受中间层的参数。 在我们的 中,我们主要关注的是我们的中间层与前端的数据交互。 中间层一般为 .dll 文件。 微软的 .NET 技术在这个方面比他的以前的任何版本都要来的简单,这也是它的 一打好处之一。 以前我们要注册一个 .dll 文件,有是注册有是重启动,而在 .NET 上,我们的 .dll 文件拿来就用,不用再考虑注册的问题。 在没有 Visual 之前,我们用写成的 .bat 文件来把 .vb 和 .cs 文件编译成 .dll 文件,在 .bat 文件里,我们写入编译的文件名称、相关联的名字空间、要编译成的文件名以及对应的命令名称,然后运行就行了。 我们一般统称中间层为组件,组件可以用 .vb 编译而成,也可以用 .cs 文件编译而成。 我们用 .cs 文件编译。 我们定义了 WebStudentSys(界面层)、 DataAccess(数据访问层)、 DataBase(数据层),下面会分别有侧重的介绍。 界面层 首先定义了一个名为 project 的项,在此项下直接建立了 WebStudentSys(界面层) ,下面包含了首页在内的六张 web form。 主页 学生基本信息管理 学籍变动信息管理 . 院系信息管理 奖励信息管理 主要教育经历管理 16 WEB FORM 的后缀名是 ASPX。 当一个浏览器第一次请求一个 ASPX 文件时, WEB FORM 页面将被 CLR( mon language runtime)编译器编译。 此后,当再有用户访问此页面的时候,由于 ASPX 页面已经被编译过,所以, CLR 会直接执行编译过的代码。 这和 ASP 的情况完全不同。 ASP 只支持 VBScript 和JavaScript 这样的解释性的脚本语言,所以 ASP 页面是解释执行的。 当用户发出请求后,无论是第一次,还是第一千次, ASP 的页面都将被动态解释执行。 但是, 是一次编译多次 执行。 这就使得 ASPX 页面至少比同样功能的 ASP 页面快 250%。 创建一个 web form 文件后,系统会自动生成一个同样名字的 .cs 文件,以达到代码和模版的分离。 (重点代码设计) 此处我们的数据访问层( DataAcess)主要是使用 和数据库的连接。 若使用 内建的“ Application”对象或” Session”对象所撰写出来的 程序可以在多个网页之间暂时保存必要的信息。 也有一个Application 一级的配置文件,叫做。 通过简单地配置 ,就可以解决数据库连接字符串问题,在每一个 DataAcess 都会调用这个配置文件,下面是本系统的 部分配置代码: appSettings addkey=ConnectionStringvalue=DataSource=localhost。 Integrated Security=SSPI。 initial catalog=Students / //数据源为本地, SSPI 是 Windows 集成验证,初始化数据库为 Students /appSettings ActiveX Data Object(简称 ADO)是微软提供的数据访问模型,依据这个模型可很轻松的操作数据库。 如在 网页中要通过 SQL 语句获得数据库中的数据,必须使用“ ”,这是 NameSpace 名称。 在 下,又有很多类( Class)。 每个 Class 可视为一个对象,因为 Class 下有属性、方法和事件等 所以,最上层的 NameSpace 是看作是同类型对象的集合,一个 NameSpace 17 之下可拥有多个 Class。 他 们之间的关系如图: 通过此图,我们了解了 NameSpace 及 Class 的概念,二者分別是表示对象集合和对象。 组成 的各个类被包含在 、 以及 等三个名字空间中。 我们要使用 SQL 语句,必须先导入名字空间。 因为本 Project 中引用部分已经引用了名字空间,现在只需调用,请看本系统的代码: using System。 using。 using。 using。 using。 以前在 ADO 中进行数据处理的主要方法是 OLEDB,现在在 中也是如此。 但是微软为了更好地支持目前广泛使用的两个数据库 Oracle和 SQL Server对 OLEDB 做了专门的扩展,它们分别是 OracleClient 和 SQLClient 类。 因为我们是把 SQL 作为后台数据库的,所以使用的是 SQLClient 类。 我们可 以将 中的各个类分为两类:提供者类( Provider)和使用 NameSpace Class1 NameSpace Class2 Class1 Class2 18 者类( Consumer)。 提供者类完成将数据从数据源的读取和写入等实际操作,而当数据被读到存储介质后,我们就用使用者类完成数据的访问和操作等功能。 所以用 技术进行数据库访问的基本过程如下: 首先,使用提供者类中的对象连接所要访问的数据库,将数据从该数据库中读到存储介质中,然后使用使用者类中的对象在非连接的模式下对数据进行相应的操作,操作完毕后,我们再使用提供者类中的对象将对数据的改动更新到数据库中。 其中,提供者类中的对象包括 了 Connection 对象、 Command 对象、CommandBuilder 对象、 DataReader 对象和 DataAdapter 对象等。 而使用者类中的对象则包括了 DataSet 对象、 DataTable 对象、 DataColumn 对象和 DataRow 对象等。 下面我就依次对各个对象有侧重点的进行介绍。 SqlConnection 类以及相关的类包含在 名字空间中。 它们使用了一个托管的提供者,该提供者对 SQL Server 数据库的操作进行了很大程度的优化,所以在 SQL Server 数据库上的性能相当高,不过它只能用于 SQL Server 数据库而不能在其他类型的数据库中使用。 SqlCommand 使用该对象向数据源发送各种 SQL 查询之类的命令。 SqlCommandBuilder 建立对数据进行修改的 SQL 命令的。 如果你想要快速的显示数据记录,那么最好使用 SqlDataReader(为 SQL Server 数据库)。 SqlDataAdapter 对象功能众多,它能完成对数据源的许多操作,比如更新已经被修改了的数据或是其他的操作。 DataSet 类包含在 名字空 间中,它是一个非常通用的类,几乎和任何类型的数据库都是相兼容的。 它代表了一组被看作是一个单位的具有相关性的表。 比如,在你的应用程序中, Table Table2 和 Table3 也许是在同一个DataSet 中的。 通过这个对象你可以很快的从每个表中获取所需的数据,并在非连接的模式下对这些数据进行相应的修改,最后在以一种高效的操作方式把这些数据更新到数据库中。 而且将 DataSet 对象和 DataAdapter 对象联合使用可以完成几乎所有的数据访问操作。 的最重要概念之一是 DataSet。 DataSet 是不依赖于数据库的独。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。