资源描述
在线毕业论文提交系统的设计与实现在线毕业论文提交系统的设计与实现 摘摘 要要 随着互联网技术的迅猛发展,网络给人们带来了很多便利,比如人们借助 于网络进行相互交流、相互通信、共享信息、文件的上传下载等。在线毕业论 文提交系统就是以上运用之一,它已经广泛的应用于目前的各大高校,但现有的 这些系统都有一定的局限性,大部分只能实现简单的论文提交、论文查询、论 文审核等功能,并不能解决论文的导出,特别是按统一的 Word 文档格式进行导 出的问题。 本设计就很好的解决了上面的问题,它不但能实现毕业生论文的在线提交; 还能给教师一定的权限,以在线的方式对自己指导的学生的论文进行审核;并 且管理员还可以方便的将每个学生的论文信息按统一的论文排版本格式导出成 word 文档等。 本论文共分为五大部分,分别是:一、介绍选题背景及意义和相关系统的 发展现状;二、介绍数据库技术、面向对象技术和基于 B/S 结构的 WEB 程序设 计技术;三、对系统进行需求分析并提出解决方案;四、根据解决方案对系统 进行设计;五、对毕业论文提交系统进行测试并得到测试结果。 关键词:关键词:在线提交;审核;导出;Word 文档;B/S 结构 Deign and Realization of Online Graduation Thesis Submitting System Abstract Along with the swift and violent development of Internet technology, the network has brought very much inconvenience for the people. For instance the people all carry on communicating mutually, corresponding mutually, sharing information, uploading and downloading and etc. The online graduation thesis submit system is one of these utilization, it already wide spread application to present each universities, but the existing these systems all have the limitation, majority only realize the function of submitting paper, inquiring paper, auditing paper and so on. They cannot solve paper exporting, specially the question which exporting with the unified form of Word documents. This system solves these questions well, it not only realizes online submitting of the graduate paper; but also can assign the competences to teachers who audit students paper by the online way .And administrator also can conveniently export each students paper information according to the unified edition form to the Word documents and etc. This paper is divided into five main modules, respectively is: First, introduction of selected topic background and significance and system development present situation; Second, introduction of data bank technology, object-oriented technology and the plan of B/S structure WEB programming technique; Third, carries on the demand to the current enterprise to analyze and to propose the solution; Fourth, carries on the design according to the solution to the system; Fifth, carries on the work plan of system tests and obtains the test result. Key words: Online submitting; Auditing; Exporting; Word documents; B/S structure 目目 录录 论文总页数:21 页 1引言1 1.1选题背景1 1.2国内外研究现状1 1.3课题研究的意义1 2理论基础1 2.1数据库技术1 2.2面向对象技术2 2.3B/S 架构的 WEB 程序设计技术 2 3系统需求分析3 3.1现行业务系统描述3 3.2现行系统存在的主要问题分析3 3.3问题解决方案3 4系统设计4 4.1系统总体架构4 4.2数据库设计4 4.2.1ER 图 .4 4.2.2数据表设计5 4.3系统功能模块设计6 4.3.1首页6 4.3.2论文提交7 4.3.3论文查询8 4.3.4论文审核.10 4.3.5论文导出.11 5系统实施及测试.15 5.1实施概况.15 5.2测试方案.16 5.3测试结果.18 结 论.18 参考文献.19 致 谢.20 声 明.21 第 1 页 共 21 页 1 1引言引言 1.11.1 选题背景选题背景 随着互联网技术的迅猛发展,网络给人们带来了很多便利,比如人们借助 于网络进行相互交流、相互通信、共享信息、文件的上传下载等。在线毕业论 文提交系统就是以上运用之一,它已经广泛的应用于目前的各大高校,但现有的 这些系统都有一定的局限性,大部分只能实现简单的论文提交,论文查询,论 文审核等功能,并不能解决论文的导出,特别是按统一的 Word 文档格式进行导 出的问题。 1.21.2 国内外研究现状国内外研究现状 目前,国内外各大高校大部分都已经有了自己的“毕业生论文提交系统” , 而且已经成为广大毕业生与导师的必要工具。但它们大都只能够完成一些基本 的功能例如论文的在线提交、审核情况的查询、检索论文等,而对论文导 出时的格式控制并没有考虑,比如怎么把存入到数据库中的论文信息导出到一 篇 Word 文档,怎样让导出到 Word 的论文保持统一的论文排版格式等。 1.31.3 课题研究的意义课题研究的意义 在线毕业论文提交系统的开发是为了更好的让各个高校充分的利用校园网 的软硬件资源,通过 B/S 系统结构来实现基于 Web 的在线论文提交,实现了学 生毕业论文的无纸化管理,让学生提交论文、查询论文的审核情况更为方便, 让老师审核学生论文更加的快捷,并且解决了学生上传时论文格式不统一,但 导出后能按统一的 Word 文档进行排版的问题。 2 2理论基础理论基础 2.12.1 数据库技术数据库技术 Microsoft SQL Server2000 是由 Microsoft 公司开发的,简称 SQL Server,由一系列相互协作的组件构成,能满足最大的 Web 站点和企业数据处 理系统存储和分析数据的需求。其主要特点如下: 第一,SQL Server与Windows服务器紧密集成,而Windows服务器具有很好 的安全性,能够排除所有未经授权的非法用户的访问,确保了SQL Server 2000 服务器的安全性,符合系统对安全性的要求; 第二,用户可以使用Web浏览器查询存储在SQL Server 2000数据库中的数 据,符合系统远程访问数据库的要求; 第三,容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记 录的行数只受服务器硬盘空间的限制; 其使用的SQL(Structured Query Language,结构查询语言)是一个功能强 大的数据库语言,通常使用于数据库的通讯。美国国家标准学会ANSI 声称, 第 2 页 共 21 页 SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操 作任务,比如在数据库中更新数据,或者从数据库中检索数据等。 2.22.2 面向对象技术面向对象技术 毕业论文提交系统采用了 C#语言,C#语言是一种面向对象的编程语言,它 是 Visual Studio 中的一部分。C#既保持了 C+中熟悉的语法,并且还包含了 大量的高效代码和面向对象特性。C#语言将在保持 C/C+灵活性的基础上为程 序员带来更高效的 RAD 开发方式。C# 是.NET 的关键性语言,它是整个.NET 平 台的基础。它不仅能用于 WEB 服务程序的开发,并且还能开发强大的系统级程 序。 C#本质上是 C+的进化产物,使用了包括声明、表达式及操作符在内的许 多 C+特征,但是 C#还有更多的增强功能,比如类型安全(type-Safe) 、事件 处理、碎片帐集、代码安全性等。在 C#中,除了可以使用许多 API,更能使用. NET 类。特别地是,我们可以处理 COM 的自动化和 C 类型的函数。 Visual Studio.NET 是.NET 平台下最为强大的开发工具,无论是软件服务 商,还是企业应用程序的部署与发布,Visual Studio.NET 都可以提供近乎完 美的解决方案。Visual Studio.NET 提供了包括设计、编码、编译调试、数据 库联接操作等基本功能和基于开放架构的服务器组件开发平台、企业开发工具 和应用程序重新发布工具以及性能评测报告等高级功能。Visual Studio .NET 2003,它是 Microsoft 的第二代开发工具,用于构建和部署功能强大而安全的 连接 Microsoft .NET 的软件。 2.32.3 B/SB/S 架构的架构的 WEBWEB 程序设计技术程序设计技术 B/S 结构(Browser/Server 结构)即浏览器和服务器结构。它是随着 Internet 技术的发展,对 C/S 结构的一种变化或者改进的结构。在这种结构下, 用户工作界面是通过网页浏览器来实现,极少部分事务逻辑在前端(Browser) 实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层 3-tier 结 构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作 量,降低了用户的总体成本(TCO) 。以目前的技术看,局域网建立 B/S 结构的 网络应用,并通过 Internet/Intranet 模式下数据库应用,相对易于把握、成 本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点, 以不同的接入方式(比如 LAN, WAN, Internet/Intranet 等)访问和操作共同 的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。B/S 结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软 件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易, 只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可 第 3 页 共 21 页 以在线申请,通过公司内部的安全认证(如 CA 证书)后,不需要人的参与,系 统可以自动分配给用户一个账号进入系统。 B/S 架构下的 ASP.NET 不仅仅是 Active Server Page (ASP) 的下一个版 本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它 还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并 提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功 能,随时增强 ASP 应用程序的功能。 3 3系统需求分析系统需求分析 3.13.1 现行业务系统描述现行业务系统描述 目前大部分学校都已经有了自己的在线毕业论文提交系统,都能够完成一 些最基本的例如论文的在线提交、审核情况的查询、检索论文等。系统的 大致工作流程是:学生进入系统首先注册一个账户,然后用这个账户进行论文 信息的提交,提交后便可以检索自己的论文是否提交成功,再过一段时间后还 能查询到自己论文的审核情况等。这里值得一提的是,这些系统在提交论文正 文的时候采用的大多是 FTP 的方式,即把整个论文文件按统一的文件格式(如. doc,.pdf 等)上传到服务器指定的目录上,要用的时候再从这个服务器上下载 下来。 3.23.2 现行系统存在的主要问题分析现行系统存在的主要问题分析 虽然目前的毕业论文提交系统已经能完成学校的大部分需求,并从一定的 程度上结束了传统的“纸上作业”的方式,但仍然存在着一些细节的问题,问 题分析如下: (1)目前大多数的相关系统都是采用 ASP 语言开发,其执行的速度较为的 缓慢,并且系统的扩展性也不是很好。 (2)目前的毕业论文提交系统大都只提供论文的在线提交,并不能让学生 在提交完成后做任何的在线修改。 (3)对每一个论文的作者来说,肯定都有自己的写作习惯,不管是段落的 格式还是字体的样式上都存在着一定的差别。而目前的毕业论文提交系统都是 采用的整个文件上传的方式,这样我们就不能去严格的控制每一篇论文的格式, 如果想要所有的论文都能按统一的论文模板格式导出的话,那根本是不可能实 现的一件事。 3.33.3 问题解决方案问题解决方案 根据对上面问题的分析,我们可以提出如下的解决方案: (1)系统采用 B/S 的结构,其开发语言不再使用传统的 ASP 语言,而使用 第 4 页 共 21 页 微软公司新一代 Active Server Pages 脚本语言ASP.NET,其先编译后执行 的程序执行方式很好的提高了系统的执行速度,而其面向对象的程序设计方式 也很好的解决了系统的扩展性。 (2)在论文查询这个模块增加了论文信息更新的子模块,当然这项功能只 针对该学生的论文在提交后还没有被其指导老师审核的情况,若一旦审核就不 能再做修改。 (3)首先我们改变一下目前的系统对论文正文的提交方式,我们先把论文 的正文粘贴到系统的一个多行文本框中,其次将其与论文的基本信息一起提交 到 SQL 数据库,然后在导出的时候先将它显示到事先定义好的一个论文格式的 网页模板上,最后将这个网页中的所有内容原样导出到 Word 即可。 4 4系统设计系统设计 4.14.1 系统总体架构系统总体架构 在线毕业论文提交系统的基本功能主要有论文提交、论文查询、论文审核 及后台数据管理五大部分,其功能模块图如图 1 所示: 图 1 毕业论文提交系统功能模块图 4.24.2 数据库设计数据库设计 4.2.14.2.1 ERER 图图 由上面的需求分析可建立 E-R 模型图,如图 2 所示: 查看学生论文 第 5 页 共 21 页 教师 管理员 论文学生 管理 审核提交 管理 导出 1 n 1 n n n 1 1 图 ER 图 4.2.24.2.2 数据表设计数据表设计 根据系统功能设计的要求及对上面 ER 图的实现,本系统一共需要三张表格,下 面给出它们的数据表图,及其基本功能说明: 表名:lwtj 功能说明:记录学生的基本信息及论文的信息,表结构如表 1 所示: 表 1 学生及论文信息表 字段名称字段类型字段说明主键允许空 stuNameVarchar(20) 学生姓名否否 stuNoVarchar(10) 学生学号是否 passwordVarchar(20) 学生密码否否 stuZyVarchar(30) 学生专业否是 stuTelVarchar(20) 学生电话否是 emailVarchar(30) 学生邮箱否是 teacherNameVarchar(20) 老师姓名否否 teacherNoVarchar(10) 指导老师否否 lwTitleVarchar(50) 论文题目否否 keyWordVarchar(50) 关键字否否 lwZyText 论文摘要否否 xwlbVarchar(20) 学位类别否否 flhVarchar(20) 分类号否否 bmjbVarchar(10) 保密级别否否 isPassVarchar(10) 审核情况否否 lwTextText 论文内容否否 11 第 6 页 共 21 页 表名: teacher 功能说明:记录指导教师的基本信息,表结构如表 2 所示: 表 2 老师信息表 字段名称字段类型字段说明主键允许空 teacherNoVarchar(10) 教师工号是否 teacherNameVarchar(20) 教师姓名否否 teacherPasswordVarchar(20) 教师密码否否 teacherTelVarchar(20) 教师电话否是 teacherEmailVarchar(30) 教师邮箱否是 表名:admin 功能说明:记录管理员的账号与密码,表结构如表 3 所示: 表 3 管理员信息表 字段名称字段类型字段说明主键允许空 adminVarchar(20) 管理账号否否 passwordVarchar(20) 管理密码否否 4.34.3 系统功能模块设计系统功能模块设计 4.3.14.3.1 首页首页 毕业论文提交系统的首页,实际上是一个本系统的使用帮助页面,实现非常 简单,不会用到数据库方面的信息,其界面如图 3 所示: 图 3 首页 由于这个页面只是一个简单的静态页面,这里就不对它的代码进行详细的分 第 7 页 共 21 页 析,我们只对页面上乃至以后系统工程每个页面都会用到的两个用户自定义控件 加以说明,这两个控件文件分别是用于页面头部的 top.ascx 和用于页面底部的 bottom.ascx,其定义的方法很简单,前面也已经讲过,这里我们来看一下在每个 页面中怎么使用它们。 在每个页面中调用 top.ascx 的语句: /TagPrefix 用来标记前缀,定义控件的命名空间;TagName 标记名指向所使用控件的名字(这里指向 myTop);Src 指向控件的资源文件 ; /调用为名 myTop 的用户控件 4.3.24.3.2 论文提交论文提交 本页面主要实现将学生正确输入到textBox中的学生信息与论文信息提交到 SQL数据库中的lwtj表,当用户输入的信息不正确时,页面上为提示“输入信息不 正确”的错误信息,并以在每个出错的textbox后面给出错误的提示,若学生重复 的提交以前已经提交了的信息,页面就会发生跳转并提示“你不能重复提交你的 论文”的提示信息。在检查用户输入的信息是否合法时,用到的是中的 “验证控件”,在判断用户是否已经提交过论文的方法是,在每个学生在单击 “提交”按钮后,就先在lwtj表中查询是否已经有了该学生的号,如果有了就表 示已经提交过了。 当完整的输入了学生的基本信息及论文信息后,单击“论文提交”页面中 的“提交”按钮后,要触发到的 submit_Click()函数: private void submit_Click(object sender, System.EventArgs e) if(IsValid=true) /判断页面上所有控件是否都合乎输入要求 / 定义连接字符串 string SqlConn=“data Source=127.0.0.1;Database=lwtjdb;User Id=sa;pwd=“; SqlConnection Conn=new SqlConnection(SqlConn); / 创建一个名为 Conn 的新连接 Conn.Open(); /打开连接 /下面的插入语句是将所有在前台 textbox 中输入的值和一个“未审核”的初始值插 入到 lwtj 表 string SqlStr=“insert into lwtj(stuName,stuNo,password,stuZy,stuTel,email,teacherName,teacherNo,lwT ite,lwText,isPass) values(“+this.stuName.Text+“, ,“+this.stuNo.Text+“,“+ this.Text.Text.Replace(“rn“ , “).Replace(“ “,“ “)+“,未审核)“; / lwBody.Text.Replace(“rn“ , “).Replace(“ “,“ “):表示将 lwBody 内容中的回车换行替换为“”,将空格替换为“ ”一并存入到数据表中 第 8 页 共 21 页 4.3.34.3.3 论文查询论文查询 本页面主要实现当学生成功提交论文后对自己论文审核情况的查询;若还 未审核,学生便可以看到类似论文提交时的那个页面,并显示出学生提交到数据 库的信息,学生可以在这里进行相应的编辑,并点击“更新”按钮进行更新;若 已经审核,学生登录后看到的将是“已审核”的提示页面.本页主要用到的数据 表还是 lwtj 表,界面如图 4 所示: 图 4 提交查询界面 当用户单击了“查询”按钮后调用下面的查询语句: 当用户输入正确的学号和密码后,执行下面的页面事件: string SqlStr=“select * from lwtj where stuNo=“+stuNo.Text+“ and password=“+password.Text+“; /查询 lwtj 表上是否有用户刚才输入的账号和密码 SqlCommand Comm=new SqlCommand(SqlStr,Conn); SqlDataReader dr=Comm.ExecuteReader(); /执行查询 / 下面的 if 语句判断是否查找到,若找到,则将记录中的每个值赋给一个相应的 Session 变量 if(dr.Read() dr.Close(); Conn.Close(); Response.Redirect(“cxjg.aspx“); /转到查询结果页 else message.Text=“输入不正确!“; 第 9 页 共 21 页 当用户单击了页面中的“更新”按钮后调用下面的 update_Click()函数: private void update_Click(object sender, System.EventArgs e) if(IsValid=true) /判断页面上所有控件是否都合乎输入要求 string SqlStr=“Update lwtj set stuNo=“+stuNo.Tex +“,stuName=“+ stuName.Text+“,password=“+password 1 .Text+“,stuZy=“+stuZy.T ext+“,stuTel=“+stuTel.Text+“,email=“+mail. Text+“,teacher Name=“+teacherName.Text+“,teacherNo=“+teacherNo.Text+“,lwTitle=“+lwTitle.Text+“,lw Body=“+lwBody.Text.Replace(“rn“ , “).Replace(“ “,“ “)+“ where stuNo=“+Sessi on“theno“; /更新学生的基本信息 SqlCommand Comm=new SqlCommand(SqlStr,Conn); Comm.ExecuteNonQuery(); /执行 UpDate 语句 Conn.Close(); message.Text=“恭喜你!更新成功!“; /提示更新成功 else message.Text=“发生错误,请按照文本框后的提示信息重新输入正确信息!“; private void Page_Load(object sender, System.EventArgs e) if(IsPostBack=false) /如果是第一次加载本页面,就执行下面的语句 string SqlStr=“select * from lwtj where isPass=未审核 and stuNo=“+Session“theno“.ToString()+“; /查询此学号的论文是否已经审核 SqlCommand Comm=new SqlCommand(SqlStr,Conn); SqlDataReader dr=Comm.ExecuteReader(); if(dr.Read() /如果上面的条件成立,则将上个页面保存的所有的 Session 的值传 到相应的 textbox 中,若不成立,就自动跳转到“已审核”提示页 stuName.Text=Session“thename“.ToString(); stuNo.Text=Session“theno“.ToString(); password1.Text=Session“thepwd“.ToString(); else Response.Redirect(“isPass.aspx“); / 转到“已审核”提示页面 第 10 页 共 21 页 4.3.44.3.4 论文审核论文审核 老师首先进入“教师”登录页面,当输入正确的 teacherNo 与 teacherPassword 后,进入“教师审核论文页面”(界面如图 5),在这个页面主要 显示的是该老师所带的所以学生的学生及论文信息,老师可以在这里审阅学生的 论文,若合格,可点出“审核”按钮进行审核,还可以点击“导出”按钮导出学生 的论文信息到 word 文档,该页面上方还有个“教师修改个人信息”的功能选项, 在老师首次登录后使用它来修改自己的密码及个人信息(界面如图 6)。 图 5 老师审核论文界面 图 6 教师信息修改界面 老师登录的主要源码如下: 第 11 页 共 21 页 老师成功登录后,下面是 datagrid 中的 Click_Grid()事件: 老师导出论文的代码与后面管理员导出论文的代码差不多,这里就不给出, 后面将有详细的介绍。 4.3.54.3.5 论文导出论文导出 管理员页面所实现的主要功能是对学生及论文信息的管理,以及论文的导出,还 public void Click_Grid(object sender, DataGridCommandEventArgs E) if(E.CommandName=“daochu“) /判断是否单击了“导出”按钮 /前面利用 DataKeyField=stuNo 设置了学号关键字段,所以下面的语句可以获取 某行的 stuNo,并把结果传给 Session“stuno“ Session“stuno“=dg1.DataKeys(int)E.Item.ItemIndex; Response.Redirect(“tealwdc.aspx“); /转到教师导出论文的页面 Else /若单击了“审核”按钮 string SqlUpDate=“Update lwtj Set isPass=已审核 where stuNo=“+dg1.DataKeys(int)E.Item.ItemIndex; /只更新当前行 SqlCommand Comm=new SqlCommand(SqlUpDate,Conn); Comm.ExecuteNonQuery(); /执行更新语句 BindData(); /重新调用绑定数据函数 public void jsdl_Click(object sender, System.EventArgs e) string SqlStr=“select * from teacher where teacherNo=“+teacherNo.Text+“ and teacherpassword=“+password.Text+“; /查询 teacher 中是否有该老师的信息 SqlCommand Comm=new SqlCommand(SqlStr,Conn); SqlDataReader dr=Comm.ExecuteReader(); 执行查询 if (dr.Read() /如查询到,将该教师的工号与姓名存分别暂存到 Session 变量中 Session“teano“=teacherNo.Text; Session“teaname“=dr“teacherName“.ToString(); Response.Redirect(“lwsh.aspx“); /跳转到论文审核主页面 else message.Text=“输入不正确!“; /密码不正确的提示 第 12 页 共 21 页 有对老师基本信息的初始添加(界面如图 8)和对老师信息的管理,其中在登录 管理员首页的时候有个管理员的身份验证,若输入正确才能登录到管理平台,进 入这个平台后便会看到“学生信息及论文信息的管理” ( 界面如图 7)和“老 师信息管理”这两个子功能,我们可以单击它进行相应的管理,下分别介绍各个 页面的界面及主要实现价码。 图 7 学生信息管理界面 图 8 添加老师信息界面 管理登录,当用户单击登录按钮的时候调用 gldl_Click()处理方法,用来进 行管理员的身份验证:如果用户存在,则让用户进入管理页面;如果用户不存在, 则给出错误提示信息。 管理员登录的源码与教师登录的源码差不多一样,仅仅是它们所要用到的数 据表不同而已,这里不再给出管理员登录的源码。 学生信息管理,Sort_Grid()方法的作用是,当用户单击 DataGrid 控件中 的 stuNo 关键字后,按这些关键字进行排序,以方便管理的查询。 第 13 页 共 21 页 ChangePage()方法,实现分页的功能用: Click_Grid()这个方法用来获得 DataGrid 控件中的 Button 事件,首先判 断用户单击的是那个按钮,若单击的是“删除” ,则删除当前行的信息。若是 “导出” ,则将学生及论文信息到一个 word 文档。 当管理员进入了添加教师页面并单击了“添加”按钮后,调用下面的处理 方法,将新的教师信息入库: public void ChangePage(object sender,DataGridPageChangedEventArgs E) /利用.ewPageIndex 获得新的页数 dg1.CurrentPageIndex=E.NewPageIndex; BindData();/重新绑定数据 public void Click_Grid(object sender, DataGridCommandEventArgs E) if (E.CommandName=“daochu“) /判断是否单击了“导出”按钮 Session“stuno“=dg1.DataKeys(int)E.Item.ItemIndex; /取当前行的学号,并存 到 Session“stuno“中 Response.Redirect(“adminlwdc.aspx“); /跳转到管理员导出论文页面 else if(E.CommandName=“delete“) /是否单击了“删除”按钮,若是,先建立数据库连 接,然后执行删除操作 string Sqldel=“delete from lwtj where stuNo=“+dg1.DataKeys(int)E.Item.ItemIndex; /定义删除语句 SqlCommand Comm=new SqlCommand(Sqldel,Conn); Comm.ExecuteNonQuery(); /执行 BindData(); /重新绑定数据 public void Sort_Grid(object sender, DataGridSortCommandEventArgs E) /按学号升弃排序,并将结果绑定到 DataSet 控件上 string SqlStr=“select * from lwtj order by stuNo“; SqlDataAdapter da=new SqlDataAdapter(SqlStr,Conn); DataSet ds=new DataSet(); /创建ataSet 控件 ds da.Fill(ds,“lwtj“); /调用ill 方法将表 lwtj 放在 DataSetc 对象中 dg1.DataSource=ds.Tables“lwtj“.DefaultView; dg1.DataBind(); /绑定数据 第 14 页 共 21 页 删除教师信息的实现方法与删除学生及论文信息的方法一样,前面已经介绍 过,这里不在给出相关代码。 导出学生论文信息到 word 文档的主要实现原理是:当用户单击 “导出” 按钮后,系统转到导出论文的页面,建立数据库的连接,并把数据库中合乎条 件的记录的值取出传给相应的 label,而前台的 Html 页中已经以论文模板的形 式设置好了各个 label 的位置,最后调用一个将 html 页转换成 word 文档的方法 即可。 BindData()方法,它首先连接到 lwtj 表,然后查询出用户要导出的学生的信 息,并把这些信息的值传给对应的 Label,主要代码如下: private void submit_Click(object sender, System.EventArgs e) /定义插入教师信息的 Insert 语句 StringSqlStr=“insert into teacher(teacherNo,teacherName,teacherPassword,teacherZc,teacherTel,teacherEmail) values(“+this.teacherNo.Text+“,“+this.teacherName.Text+“,“+this.password1.Text+“, “+this.teacherZc.Text+“,“+this.teacherTel.Text+“,“+this.email.Text+“)“; SqlCommand Comm=new SqlCommand(SqlStr,Conn); Comm.ExecuteNonQuery(); /执行 insert 语句 Conn.Close(); /关闭连接 message.Text=“恭喜你!添加成功!若不再继续添加,请单击返回!“; private void Page_Load(object sender,System.EventArgs e) BindData(); /调用数据绑定函数 Response.Charset=“GB2312“;/设置输出流为简体中文 Response.ContentEncoding=System.Text.Encoding.GetEncoding(“GB2312“);/设置输出文件类型为 word 类型 Response.ContentType=“application/ms-word “; /用来保存为 word 文件的文件名 Response.AddHeader( “Content- Disposition“,“inline;filename=“+stuNo.Text+”.doc“); /“filename=“+stuNo.Text+”. doc“,表示以学号为文件名保存为 word 文档 第 15 页 共 21 页 5 5系统实施及测试系统实施及测试 5.15.1 实施概况实施概况 在线毕业论文提交系统运行环境为:windows+IIs 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 和完全集成的调试支持。使用 Web 窗体可以生 成功能强大的基于窗体的 Web 页。 ASP.NET 平台要求: 在 Windows 2000(Professional、Server 和 Advanced Server) 、 Windows XP Professional 以及 Windows Server 2003 系列产品上,客户端和 服务器应用程序都支持 ASP.NET。此外,要开发 ASP.NET 服务器应用程序,还 必须具备以下软件:具有 Service Pack 2 的 Windows 2000 Server 或 private void BindData() /定义连接字符串,建立数据库连接 string SqlConn=“data Source=127.0.0.1;Database=lwtjdb;User Id=sa;pwd=“; SqlConnection Conn=new SqlConnection(SqlConn); Conn.Open(); /定义查询语句 string SqlStr=“select * from lwtj where stuNo=“+Session“stuno“; SqlCommand Comm=new SqlCommand(SqlStr,Conn); SqlDataReader dr=Comm.ExecuteReader(); /执行 /如果查找到,将记录中的各个值赋相应的给 label if (dr.Read() stuno.Text=dr“stuNo“.ToString(); stuname.Text=dr“stuName“.ToString(); stuzy.Text=dr“stuZy“.ToString(); teaname.Text=dr“teacherName“.ToString(); lwtitle.Text=dr“lwTitle“.ToString(); lwbody.Text=dr“lwBody“.ToString(); 第 16 页 共 21 页 Advanced Server、Windows XP Professional 或 64 位版本,或 Windows Server 2003 系列产品之一。 5.25.2 测试方案测试方案 (1)打开 IE 浏览器 6.0,在地址栏中输:http:/localhost/lwen/index ,进入系统首页; (2)打开“提交论文”页面,在里面输入信息,单击提交看是否成功,若 不成功看是否有相应的错误提示,错误提示如图 9 所示; 图 9 提交错误信息提示图 (3)在 “论文查询”页面输入学号及密码,查询刚才所提交的内容,看 是否能进入“查询结果”页面; (4)在“查询结果”页面(如图 10)对学生及论文的信息做相应的修改, 然后点击更新,看是否更新成功;若不成功,看是否有相应的错误提示; 图 10 查询结果页面 第 17 页 共 21 页 (5)正确的输入教师的工号及密码,进入“审核论文”页面,在页面中首 先点击“教师个人信息修改” ,进入“信息修改”页面,更改教师的密码,看是 否成功,若成功,点击“返回上页”按钮返回“审核论文”页面; (6)在“审核论文”页面中单击一个学生的论文题目,查看论文的全文 (界面如图 11),然后“返回” ,点击“审核”按钮对该学生的论文进行审核; 看该学生的论文审核状态是否为“已审核” ; 图 11 查看论文信息页面 (7)输入管理员账号及密码进入“管理主页面” ,选择“学生及论文信息 管理” ,进入该页面,然后找到一条错误的信息,单击“删除”按钮,看是否成 功删除,单击学号关键字,看能否实现按学号排序;单击“下页”看能否实现 分页,管理登录密码错误提示页面如图 12 所示; 图 12 管理员登录出错页面 (8)在学生管理页面单击“导出”按钮,导出一个学生的论文,导出时选 第 18 页 共 21 页 择导出位置的界面如图 13; 图 13 导出位置选择 (9)单击“老师信息管理” ,进入“教师管理”页面,单击“添加教师信 息” ,进入“添加教师”页面,输入教师的基本信息,单击“添加”按钮看能否 添加成功;若成功单击“返回上页”按钮返回“教师管理”页面,看刚才添加 的教师信息是否已经显示到列表中,单击“删除”按钮,删除刚才添加的教师 信息,看是否成功; (10)测试完成。 5.35.3 测试结果测试结果 在线毕业论文提交系统的测试相当成功,它完成了系统所要求实现的所有功 能,并有一定的冗错性,即当用户对系统进行了非法操作后,系统能自动给予相应 的错误处理方法,并能友好的对用户进行提示;系统的安全性也有比较好,各种 用户都只能在自己的权限范围内操作,不能越权操作;另外系统的界面较为简洁,用 户操作起来也很方便。 当然系统也有不足的地方,那就是系统在提交论文内容时没有考虑到对图片 内容的提交,将网页中的内容导出到 word 中时,不能够控制正方部分的细要格式,如 不同标题的不同样式等,但我相信这些都将在以后对系统的扩展时能得以实现。 结结 论论 在线毕业论文提交系统解决了在线论文提交及论文导出成统一 Word 文档格 式等问题,同时系统可以实现对学生提交后的论文进行查询,若其论文还未被 老师审核学生还可以进行在线修改,老师对论文的审核也给予了一定的权限限 制,即每个教师只能审核自己所带学生的论文,不能进行删除等操作,而管理员的 权限较大,他能够删除、导出学生的论文信息,并能添加删除老师信息等。 第 19 页 共 21 页 通过总体的测试和试用,我发现该系统还存在以下一些问题: 1、数据库 的设计不够专业,字段的命名方式没有做很好的统一,可能会导致以后对系统 的扩展的不方便;2、在程序设计的过程中没有做好相应的注释,会对今后再次 阅读该设计带来一定的困难;3、在对论文正文提交的时候没有考虑到论文中的 图片信息;4、论文导出后不能够控制论文正方部分的细要格式,如不同标题的 不同样式等,但我相信这些都将在以后对系统的扩展时能得以实现。 经过近四个月的系统开发,不但丰富了我的理论知识,对我的实际动手能 力也有了很大的提高,同时也让我尝到了程度设计过程中的所有辛酸,这让我 从很大的程度上认识到了自己的不足之处。让我明白了什么叫学无止境,我会 在以后的工作中仍然要保持积极的学习心态,坚持不懈的学习新的知识,丰富 自己的头脑,让自己“更上一层楼” 。 参考文献参考文献 1 奥尼恩,施诺ASP.NET 基础教程C案例版M北京:清华大学出版社,2003。 2 江广顺ASP.NET+SQL SERVER 热门网络应用开发详解M北京:人民邮电出版社, 2006。 3 微软公司面向.NET 的 WEB 应用程序设计M北京:高等教育出版,2004。 4 金林樵网络数据库技术及应用M北京:机械工业出版社,2002。 5 陈娴,刘志宝ASP.NET 项目开发实践(第 2 版) M北京:清华大学出版社,2005。 6 郑人杰,殷人昆实用软件工程第二版M北京:清华大学出版社,2004。 7 尚俊杰 程序设计M北京:清华大学出版社,2004。 8 张俊,乔宇峰C#程序设计入门M吉林:吉林电子出版社,2005。 9 微软公司ADO.NET 程序设计M北京:高等教育出版社,2004。 10 金雪云ASP.NET 简明教程(C#篇) M 北京:清华大学出版社,2006。 第 20 页 共 21 页 致致 谢谢 本文是在赵军老师的热情关心和指导下完成的,他渊博的知识和严谨的治 学作风使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向他表示我 最衷心的感谢! 感谢赵军老师在课题研究初期给予的帮助,在赵军老师的帮助下课题才得 以很好的展开,有了一个很好的开端!感谢雷科强与朱飞勇同学在问卷调查中 给予的帮助,因为他们的协助,才得以高效率的完成了所有问卷调查,获取了 珍贵的数据资料! 在论文完成过程中,本人还得到了其他老师和许多同学的热心帮助,本人 向他们表示深深的谢意! 最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢! 第 21 页 共 21 页 声声 明明
展开阅读全文