基于C#+asp.net+sqlserver的WEB选课系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于C#+asp.net+sqlserver的WEB选课系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。

文章目录:

  • 基于C#+asp.net+sqlserver的WEB选课系统设计与实现(毕业论文+程序源码)
    • 1、项目简介
    • 2、资源详情
    • 3、关键词:
    • 4、毕设简介
    • 5、资源下载

1、项目简介

  1. 设计本系统的目的是对选课信息进行管理。学生选课系统维护模块主要完成的是系统管理与维护功能。课题研究过程中,首先对系统管理模块进行了详尽的需求分析,经分析得到系统管理模块主要完成如下的功能:用户基本信息、选课信息的录入,查看,修改,删除等,同时还具有查询各个模块的功能,数据备份,数据还原 ,注销等功能。系统管理模块是整个系统的指挥中心,保证整个系统在校园网上安全有效地运作。之后根据需求提出了系统管理模块的总体设计方案,并据此进行了详细设计和编码实现。系统使用B/S结构设计和开发,系统的编码实现基于VS.NET平台,使用ASP.NET作为开发语言,SQL Server 作为数据库。代码中通过使用进程中的Session、尽量使用存储过程和尽量减少数据库连接的打开时间等手段来提高性能。

2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:11178个字35页
包含内容:整套源码+完整毕业论文+答辩PPT


3、关键词:

选课系统,系统管理,ASP .NET


4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

第一章 绪论
1.1 课题背景
学生选课是学校教学环节开展的前提和基础,是学校工作的重要组成部分。一直以来人们使用传统人工的方式管理文件挡案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识。使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,建立一个学生选课系统,使选课管理工作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。

1.2 关键技术介绍
1.2.1 ASP.NET简介
ASP.NET又称ASP+,但它不是ASP的简单升级,而是微软提出的.NET框架的一部分,它是一种以.NET框架为基础开发网上应用程序的全新模式[4]。

.NET 的核心内容之一就是要搭建第三代互联网平台,这个网络平台将打破不同的上网设备、不同的操作系统、不同的网站,以及各大机构和工业界的网络障碍,将解决网站之间的协同合作,使网站之间形成自动交流,从而最大限度的共享资源[2]。

.NET框架(.NET Framework)主要有以下3部分组成:
公共语言运行库(Common Language Runtime,CLR)
基础库类(Base Class Libarary)
ASP.NET、VB.NET、C#等语言运行库
ASP.NET的功能和特点:
ASP.NET是.NET框架中专门用来开发网上应用程序的,它其实不是一种语言,而更像一个框架,在这个框架下可以采用VB.NET,C#等其他.NET语言开发网上程序。
相对于他的前身ASP来说,ASP.NET具有如下特点。

1)效率增强
ASP才有界实质性的方式,每一次用户访问页面时,就从头到尾解释一遍,这样效率较低。而ASP.NET采用编译后运行的方式,当用户第一次访问页面时对页面进行编译,以后在访问时就直接运行,这样尽管第一次会稍微慢些,但以后速度就会大大提高。
2)顶级开发工具支持
ASP.NET可以在Visual Studio.NET中开发,支持所见即所得、拖防控件和自动部署等功能,可以使开发效率大大提高。
3)程序结构清晰
再ASP中,ASP代码和HTML标记是掺杂在一起的,其实是将ASP代码嵌入到了HTML文档中。而ASP.NET可以将车古代马赫HTML标记分开,使得程序结构更清晰。
4)开发简单
ASP.NET中的很多特性使得开发更简单。如它提供的验证控件可以方便的验证客户是否正确填写表单内容,就不需要自己编写大段验证代码。另外,提交表单后,可以自动保留客户在表单内输入的内容。
5)移植方便
在ASP中,如果要使用第三方组件,就需要在服务器端注册该组件,甚至需要重新启动服务器,极不方便。而在ASP.NET中,可以向目标服务其直接复制组件,当需要更新时,重新复制一个即可。ASP.NET会自动逐步用新的组件替换旧的组件。
6)Web服务
所谓Web服务,就是一种特殊的Web组件,该组件有一些属性和方法,其他网上应用程序或传统应用程序可以远程调用着这属性和方法,并返回一个简单的结果。

1.2.2 SQL Server
SQL Server 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标记语言 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力,提供了以 Web 标准为基础的扩展数据库编程功能。丰富的 XML 和 Internet 标准支持允许使用内置的存储过程以 XML 格式轻松存储和检索数据。

SQL Server 提供强大的开发工具和各类开发特性,在大大提高开发效率的同时,带来新的商业应用机遇。例如,XML数据库与Web Service的支持将使您的应用实现Internet数据互联,.NET集成极大的扩展了开发空间,异构数据集成、Service Broker使您的数据和其它应用无缝集成,各种新数据类型和T-SQL扩展带来了诸多灵活性。C#、VB.Net、XQuery、XMLA、ADO.Net 2.0、SMO、AMO等都将成为SQL Server数据平台上开发数据相关应用的有力工具[12]。

1.2.3 ADO.NET简介
为了处理存储在数据库中的数据,ASP.NET是使用ADO.NET(Microsoft新的数据访问策略–ActiveX Data Objects for the .NET Framework)来完成的。
它是为.NET框架而创建的,提供对Microsoft SQL Server、Oracle的数据源以及通过OLEDB和XML公开的数据的一致访问。数据共享使用者应用程序可以使用 ADO.NET 来连接到这些数据源,并检索、操作和更新数据。

连接环境下应用程序的对象模型,如图1-1所示[8]。

图1-1 连接环境下应用程序的对象模型
在连接环境下,整个数据存取的步骤如下:
(1) 用SqlConnection对象和数据库开启连接。
(2) 用SqlCommand对象向数据索取所要的数据。
(3) 把取回来的数据,放在SqlDataReader对象中读取,或者是做其他的存取。
(4) 在对数据库的存取、查询等操作做完后,关闭SqlDataReader对象。
(5) 关闭SqlConnection对象。
连接环境下的数据库存取作业,从开始到结束,客户端与服务器端都是保持在联机的状态。

1.2.4 HTML
HTML的英文全称是"Hypertext Markup Language",中文译为“超文本标记语言”。“超文本”就是指页面内可以包含图片,联接,甚至音乐,程序等非文字的元素。在几年前作为SGML的一个子集开发的。一个HTML文件中包含了所有将显示在网页上的文字信息,其中也包括对浏览器的一些指示,如哪些文字应放置在何处,显示模式是什么样的等。如果你还有一些图片、动画、声音或是任何其它形式的资源,HTML文件也会告诉浏览器到哪里去查找这些资源,以及这些资源将放置在网页的什么位置。浏览的网页就是由HTML语言编写出来的。虽然HTML是一种语言,但HTML不是程序语言,如 C++ 和 Java 之类,它只是标示语言,你只要明白了各种标记的用法便算学会了HTML的格式非常简单,只是由文字及标记组合而成,因此任何文本编辑器都可以制作HTML页面。

在编辑器中输入html代码即可完成对网页的设计,如果在其中加入VB,JAVA等脚本文件以及数据库连接有关的语句指令,便可对已知数据进行查询,从而生成动态网页的一部分。

1.3 课题主要工作
学生选课系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。本模块主要包括数据库的构建,设计学生、教师、管理员的登陆情况,根据不同的用户身份进入不同的界面管理。包括学生、教师、管理员的登陆、修改密码、退出。系统管理包括的功能有学生资料录入、学生资料修改删除、教师资料录入、教师资料修改删除、选修课程录入、选修课限额设置、查询用户密码、查看注册情况、添加通知、通知管理、系统还原、系统备份等等。

第二章 需求分析
2.1 可行性分析
1.技术可行性-----本系统仅需要一台装有Office软件的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,要运用于HTML样式,图形图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件,数据库使用SQL Server 提供的数据库桌面工具ODBC。

2.经济可行性----由于本系统是学生选课管理使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。

3.操作可行性----界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩展。

2.2 功能分析
我国不少高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。运用计算机辅助选课,既能实时地对大量选课数据进行检验和统计,十分方便地输出结果,同时也避免了人工处理时容易产生的错误。

从系统开发的复杂程度来看,计算机辅助排课与选课是高校教务系统中的两个关键子系统,目前不少教务系统尚未很好地解决排课与选课问题。本文主要是对高校教务管理系统中计算机课表编排与选课子系统的基本功能、设计思想、需求分析以及实现技术进行探讨。在大学中,学生选课存在这样的特点:公选课较多,学生人数众多,学生可根据自己的专业及兴趣选择公选课程进行学习,而且学生对课程的要求有较大差异。本系统将从教学部门的要求出发,实现公选课的选择、查询与统计。

使用该系统有三个角色,即管理员、学生和教师用户。管理员的权限最高,包括设置系统登陆信息, 用户基本信息、选课信息的录入,查看,修改,删除等、同时还具有查询各个模块的功能。老师和学生可以实现基本信息查询和进行选课的相关操作,如添加选课信息,退选等。

一共分五个功能模块:
系统管理:实现管理员对系统的管理,包括添加删除用户。更改密码,数据备份,数据还原,注销等功能。
基本信息:实现显示学生和老师的基本信息(包括学生基本信息,教师基本信息,课程基本信息 )。
选课:实现学生选择课程,选择老师,老师选择自己所能教的课程。
查询:包括实现学生查询,老师查询。学生查询包括自己的基本信息,自己的课程,课表,成绩,同班同学等,老师查询包括查询自己的信息,自己所带班的学生,自己的课程表等。
帮助系统:帮助系统为用户指明方向。
系统维护模块的总体框架图如图2.1所示。

图 2.1 选课系统管理与维护模块总体框架图

第三章 系统的设计
3.1 总体设计
本系统共分三大模块,分学生、教师、管理员模块,登录,修改密码,退出系统功能是学生、教师、管理员所共有的功能。学生登录模块中,当学生成功登录后,将学生的姓名、学号、密码作为共用信息保存下来,作为密码修改模块、查询选课信息模块、修改选课信息模块使用时的参数。查询选课信息模块中的课程号、学期、教师姓名信息作为传递参数用于查询教师信息模块、查询选课名单模块、查询课程信息模块、修改选课信息。同样,教师登录模块中,成功登录后将教工号、教师姓名作为参数保存下来,传递到密码修改模块、查询已发布课程信息模块、删除课程发布信息模块、修改课程发布信息模块。管理员登录后的修改教师信息、删除教师信息模块中传递的是教工号信息,参数由用户输入的信息得来;修改学生信息、删除学生信息模块中传递的是学生的学号信息,同样传递的参数由用户输入得来。管理员还有系统还原、备份。
有登录界面,根据不同的用户进入不同的界面。修改密码界面,完成用户对密码的修改。课程信息的添加、修改、删除界面,完成对课程的录入、修改、删除。学生信息的添加、修改、删除界面,教师信息的添加、修改、删除界面,完成对用户的操作。

需要学生、教师、管理员、课程、班级、专业、系、学院基本信息,学生选课、专业开课情况,教师授课信息,建立了11个相关的表。

3.2 功能的详细设计
为了使界面统一,使用了表格,在其中加入Panel控件,以便不用跳转到不同的页面,在同一页面通过Click事件调用不同的用户控件,从而达到预期效果。

1.登录
在登录页面对应的地方输入用户名、密码,确认后登录。提交后首先通过用户名和密码和type值运行存储过程login,对数据库中的学生/教师/管理员信息表进行检索,若检索到的记录集为空,从而转到登陆错误页面,提示“你输入的用户名或密码有误,请重新输入!”若记录集不为空,再进行姓名密码判断,若相等则转入学生/教师/管理员登录成功的操作页面,并将编号/密码和type值以session对象保存起来。

2 修改密码
学生登陆成功后,通过session传递学号,找到相应的个人信息显示出登陆成功。可以重新登陆,修改密码,退出系统,选课,查询成绩,查看帮助。重新登陆通过传递reboot值,调用login.ascx用户控件,修改密码调用存储过程changepwd,退出系统注销session值,查看帮助调转到help.aspx页面。登陆错误跳转到错误界面。
教师登陆成功后,通过session传递教工号,找到相应的个人信息显示出登陆成功。可以重新登陆,修改密码,退出系统,选定课程,查看课表安排等。

3.信息维护
管理员包括的功能有学生资料录入、学生资料修改删除、教师资料录入、教师资料修改删除、选修课程录入、选修课限额设置、系统还原、系统备份等等,将各模块做成用户控件,根据不同的标识跳转到相应的界面。在各自的LinkButton_Click跳转到相应的界面下调用存储过程实现各功能。

3.3 数据库设计
在login模块,根据身份的不同,需要学生、教师、管理员的信息表,关联学生的有班级、专业、系、学院信息,关联教师的有教师授课表和学院信息表,对课程的管理需要课程信息表。
表之间关系如图3.1所示

                    图 3.1 数据库间表的关系图

下面列出选课系统所有表的结构和索引。
1.学生信息表
学号为主索引,为班级号建立索引,通过该索引和班级信息表建立关联。
表 3.1 学生信息表

2.教师信息表
教工号为主索引,为所在院号建立索引,通过该索引和学院信息表建立关联。
表 3.2 教师信息表

3.课程信息表
课程编号为主索引。
表 3.3 课程信息表

4.学生选课表
学号、课程号共同做主索引,通过学号和学生信息表建立关联,通过课程
号和课程基本表建立关联。
表 3.4 学生选课表

5.班级信息表
班级号做主索引,为所属专业号建立索引,通过该索引和专业信息表建立关
联。

                  表 3.5 班级信息表

6.教师授课表
分别为教工号和课程号建立索引,通过教工号和教师信息表建立关联,通过课程号和课程信息表建立关联。
表 3.6 教师授课表

7.专业信息表
为所在系号建立索引,通过所在系号和系信息表建立关联。
表 3.7 专业信息表

8.系信息表
为所在院号建立索引,通过所在院号和院信息表建立关联。
表 3.8 系信息表

9.专业开课信息表
学年设置check约束只能输入1-4,学期设置check约束只能输入上或下。分别为专业号和课程号建立索引,通过专业号和专业信息表建立关联,通过课程号和课程信息表建立关联。
表 3.9 专业开课信息表

10.学院信息表
为学院号建立索引。
表 3.10 学院信息表

11.管理员信息表
为账号建立索引。
表 3.11 管理员信息表

第四章 系统实现与验证
4.1 系统实现
4.1.1 系统主界面
登录界面如图4.1所示。

                    图 4.1 主界面

主界面main.aspx的主要设计如下
插入两行两列的表,将第一行单元格合并,分别在上、左、右单元格中加入Panel控件,分别设置ID为p3,pl,pr。在page_load中添加代码:

 P3.Controls.Add(Page.LoadControl("header.ascx")) '加载图片控件Pl.Controls.Add(Page.LoadControl("menu1.ascx")) '加载左侧菜单Pr.Controls.Add(Page.LoadControl("js.ascx")) '初始时加载简介信息If Request.QueryString("type") = "0" Then '学生登录Pr.Controls.Clear()Pr.Controls.Add(Page.LoadControl("login.ascx"))Exit SubEnd IfIf Request.QueryString("type") = "1" Then '教师登录Pr.Controls.Clear()Pr.Controls.Add(Page.LoadControl("login.ascx"))Exit SubEnd IfIf Request.QueryString("type") = "2" Then '管理登录Pr.Controls.Clear()Pr.Controls.Add(Page.LoadControl("login.ascx"))Exit SubEnd If

header.ascx为一图片控件, menu1.ascx为用户登录菜单,添加3个LinkButton控件,分学生、教师、管理员身份, js.ascx为登录介绍。
在menu1.ascx中学生的LinkButton_Click中添加代码
Response.Redirect(“main.aspx?type=0”)
在menu1.ascx中教师的LinkButton_Click中添加代码
Response.Redirect(“main.aspx?type=1”)
在menu1.ascx中管理员的LinkButton_Click中添加代码
Response.Redirect(“main.aspx?type=2”)

4.1.2 登录功能
当点击不同的用户后,进入同一登录界面,通过识别不同的标识,即type值的不同而进入不同的用户界面。在登录页面对应的地方输入用户名、密码,确认后登录。调用存储过程login,根据编号、密码、type值的不同来判断用户身份。登录界面如图4.2所示。

             图 4.2  登录界面

Login.ascx中的设计如下:
确定按扭中添加代码:

Dim s As StringIf Request.QueryString("reboot") = "1" Thens = Session("type")Elses = Request.QueryString("type")End IfDim db As New dbaccessdb.para.Add("@user", bianhao.Text.Trim)db.para.Add("@pwd", pwd.Text.Trim)db.para.Add("@type", s)db.runproc("login")If db.retok ThenSession("user") = bianhao.Text.TrimSession("type") = sSelect Case sCase "0"Response.Redirect("student.aspx")Case "1"Response.Redirect("teacher.aspx")Case "2"Response.Redirect("admin.aspx")End SelectElseResponse.Redirect("登陆错误.aspx")End If
重置按扭中添加代码:bianhao.Text = ""
pwd.Text = ""

4.1.3 学生模块功能
当点击学生后,通过输入学号和密码进入学生登录界面,右边的表格中列出登录者的相关信息,如输入错误跳转到登陆错误界面。教师、管理员的也相同。学生、教师登录成功后都可重新登陆、修改密码、查询相关内容和退出系统等功能。登录界面如图4.3所示。

                     图 4.3  学生登录成功界面

1)重新登陆会跳转到Login.ascx的界面。
2)退出系统中代码如下:
Session.Abandon()'清空会话信息
Response.Redirect(“main.aspx”)
为了安全,退出后注销用户的Session信息,跳转到主界面。
3)修改密码中代码如下:

If  pwd2.Text.Trim <> pwd3.Text.Trim Then
Response.Write("<script> alert('两次输入的密码不一致!');</script>")
Else
Dim db As New dbaccessResponse.Write(Session("type"))db.para.Add("@id", Session("user"))db.para.Add("@oldpwd", pwd1.Text.Trim)db.para.Add("@pwd", pwd2.Text.Trim)Dim temp As Stringtemp = Session("type")db.para.Add("@type", temp.Trim)db.runproc("changepwd")If (db.retok) ThenResponse.Write("<script> alert('修改成功!');</script>")ElseResponse.Write("<script> alert('原始密码错误!');</script>")End If
End If

4.1.4 教师模块功能
教师登陆也同样传递session值,将教工号和type值保留以备调用不同的用户控件。其它功能同学生模块相同。登录界面如图4.4所示。

              图 4.4  教师登录成功界面

4.1.5 管理员模块功能
管理员登陆成功后,界面如图4.4所示,重新登陆、修改密码、退出系统同上。系统还原调用存储过程hy,备份调用存储过程bf,添加、修改、删除课程信息分别调用存储过程ins_c、del_c、course_update,添加、修改、删除学生信息分别调用存储过程ins_s、del_s、student _update,添加、修改、删除课程信息分别调用存储过程ins_t、del_t、teacher_update。

         图 4.5  管理员登录成功界面

1)还原的LinkButton_Click中添加代码

db.runproc("hy", True)If db.retok ThenResponse.Write("<script> alert('还原成功!');</script>")ElseResponse.Write("<script> alert('还原失败!');</script>")End If

2)addstudent.ascx中的代码如下
page_load中的代码

db.runproc("grade")If db.retok Theng.DataSource = db.ds.Tables(0) '绑定班级信息g.DataTextField = db.ds.Tables(0).Columns(1).ToString '显示班级名g.DataValueField = db.ds.Tables(0).Columns(0).ToString '值为班级号g.DataBind()End If
submit_Click中的代码If studentid.Text.Trim <> "" And pwd.Text.Trim <> "" ThenDim db As New dbaccessdb.para.Add("@sid", studentid.Text.Trim)db.para.Add("@pwd", pwd.Text.Trim)db.para.Add("@sname", studentname.Text.Trim)db.para.Add("@sex", sex.Text.Trim)db.para.Add("@gradeid", g.SelectedValue)db.para.Add("@telep", telep.Text.Trim)db.runproc("ins_s")If db.retok Thenmsg.Text = "insert success !"Elsemsg.Text = "insert failure! record may exists !"studentid.Text = ""pwd.Text = ""studentname.Text = ""sex.Text = ""telep.Text = ""End IfElsemsg.Text = "学号或密码不能为空!"End If

4.1.6 存储过程
为了提高效率,使代码简单,大量使用了存储过程。
下面是登陆时调用的存储过程:

CREATE proc login
@user char(10),@pwd char(10),@type int=0
as
if @type=0
begin
select *  from 学生信息 as b
where b.学号=@user and b.密码=@pwd
end
if @type=1
begin
select * from 教师信息 as b
where b.教工号=@user and b.密码=@pwd
end
if @type=2
begin
select * from 管理员信息 as b
where b.账号=@user and b.密码=@pwd
end
下面是还原时调用的存储过程:
CREATE PROCEDURE hy AS
DECLARE   @spid   smallint
DECLARE   @sql   char(10)
DECLARE deluser CURSOR FAST_FORWARD
FOR
SELECT  spid  FROM sysprocesses as p
where dbid in (select s.dbid from sysdatabases as s where s.name='cc')
OPEN deluser
FETCH   NEXT   FROM  deluser   INTO   @spid
WHILE   @@FETCH_STATUS != -1
begin
SET  @sql = 'KILL  ' +   CAST(@spid   AS   char(10))
EXEC(@sql)
FETCH NEXT FROM deluser INTO @spid
end
CLOSE deluser
DEALLOCATE deluser
restore database cc from bf
if @@error=0 select 'ok'

4.1.7 类的使用
在 OOP(面向对象的编程)中,类定义一类对象,通过将大量逻辑添加到自定义类中,不仅能使代码更易于重复使用,还可以扩展现有的类,添加新的功能或修改现有的功能。本程序中编写了一个类,供各摸块使用,代码如下:

Imports System.Data
Imports System.Data.SqlClient
Imports System.Collections.Specialized
Public Class dbaccess  '使用sql访问数据库的对象Public Shared ds As New Data.DataSetPublic retok As Boolean   '如果返回的第一个表不为空,则为1,反之为0Public para As New ListDictionary
'出错返回Nothing
Public Sub runproc(ByVal procNAME As String, Optional ByVal master As Boolean = False)Dim db As StringIf master Thendb = "master"Elsedb = "cc"End IfDim conn As New SqlConnection("server=.;database=" + db + ";uid=csf;pwd=csf")Dim comm As New SqlCommandDim adp As New SqlDataAdapter(comm)comm.Connection = conncomm.CommandType = CommandType.StoredProcedurecomm.CommandText = procNAMEcomm.Parameters.Clear()Dim myDE As DictionaryEntry '加入参数For Each myDE In paracomm.Parameters.Add(myDE.Key, myDE.Value)Next myDEpara.Clear() '参数已无用,回收空间If Not (ds Is Nothing) Then '清空已有表ds.Reset()End Ifretok = 0conn.Open()adp.Fill(ds)conn.Close()If ds.Tables.Count > 0 ThenIf ds.Tables(0).Rows.Count > 0 Thenretok = 1 '如果有结果返回,则为真End IfElseretok = 0 '反之,返回零End IfEnd Sub
End Class

4.2 系统验证
4.2.1 系统运行环境
1.硬件环境
PC机一台
2.软件环境
1)以Windows NT/2000 Server/XP作为学生选课管理系统的后台操作系统
2)前台开发软件为VB.NET、ASP.NET、ADO.NET、SQL Server 2000
3)后台数据库系统采用SQL Server 2000
4.2.2 系统的验证

在模块的建立时,很多时候发现功能不能正常运行,在检查完程序语句的结构之后,发现并没有错误,于是在检查页面与页面交互时发现了问题,很多地方传递的参数并没有真正的执行,还有些地方没有进行参数的设置,才导致了程序的错误。

由于本身能力的局限性,所以所编写的代码,即使经过反复检查也难免出错,所以在本阶段力求使用有限的时间找出尽可能多的错误,力求系统尽量正确。我们在本系统的测试中使用了黑盒法(即不关心程序内部的逻辑结构,而是根据程序的功能来设计检测)请一位不熟悉本系统的人来进行随意性的操作,打破习惯的操作顺序,从中发现错误,在此阶段系统的大量错误得到了改正。列举出几个验证过程如表4.1,4.2,4.3,4.4所示。

系统所涉及的数据库设计的重要步骤加载测试。加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、删除、查询、处理工作均可视为对数据库的加载测试工作。要设计出一个好的管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:1)基本表的个数越少越好。2)主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单。3)字段的个数越少越好。4)所有基本表的设计均应尽量符合第三范式。数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。

结论
省略

参考文献
[1] 罗斌 . Visual Basic NET精彩编程实例集锦 .中国水利水电出版社,2006.1
[2] 高春蓉 . ASP.NET与VB.NET 从入门到精通 .电子工业出版社,2002.9.1
[3] 杨浩 .VB.NET高级编程 .清华大学出版社,2005.5
[4] 尚俊杰 .ASP.NET程序设计 .清华大学出版社,2004.4.1
[5] 李伟红 .SQL Server2000数据库及应用 .中国水利水电出版社,2007.1.1
[6] 龙怀冰 .SQL Server 2000实用开发教程 .人民邮电出版社,2006.5.1
[7] Dan Kent .ASP.NET Evolution .Sams ,2004.5.19
[8] Mahesh Chand, David Talbot .Applied ADO.NET: Building Data-Driven Solutions . Apress,2003.3.18
[9] John Kauffman, Thiru Thangarathinam .Beginning ASP.NET 2.0 Databases Beta Preview . Wrox,2005.3.18
[10] 李存斌 .SQL Server 2005实用教程 .中国水利水电出版社,2006.10.1
[11] 刘小伟 .ASP.NET与SQL Server 网站开发实用教程 .电子工业出版社,2006.11
[12] 戴志诚 .SQL Server 2005数据库系统开发与实例 .电子工业出版社,2007.3
[13] 宾晟 .ASP.NET 网络程序开发原理与实践教程 .电子工业出版社,2007.1
[14] Thiru Thangarathinam .Professional ASP.NET 2.0 Databases. wrox,2007.2
[15] (美)Joseph J.Bambara,Paul R.著. SQL Server开发指南 .电子出版社,2000.1
[16] 宋昆,李严. SQL Server数据库开发实例解析 .机械工业出版社,2006.1
[17] 王颖,李敏业. Visual Basic + SQL Server数据库应用实例完全解析 .人民邮电出版社, 2006.2
[18] 董国平,颜志军. Visual Basic数据库开发典型模块与实例精讲 .电子工业出版社,2006.3

致谢
省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号 毕业设计全套资源(点击下载)
本项目源码 基于C#+asp.net+sqlserver的WEB选课系统设计与实现(源码+文档)C#.net_BS架构_选课系统.zip

C#毕业设计——基于C#+asp.net+sqlserver的WEB选课系统设计与实现(毕业论文+程序源码)——WEB选课系统相关推荐

  1. C#毕业设计——基于C#+asp.net+sqlserver的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎

    基于C#+asp.net+sqlserver的搜索引擎设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的搜索引擎设计与实现,文章末尾附有本毕业设计的 ...

  2. C#毕业设计——基于C#+asp.net+sqlserver的网络商店设计与实现(毕业论文+程序源码)——网络商店

    基于C#+asp.net+sqlserver的网络商店设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的网络商店设计与实现,文章末尾附有本毕业设计的 ...

  3. C#——基于C#+asp.net+sqlserver的网上书店系统设计与实现(程序源码)

    本系统是建立在 Windows 平台上,基于 B/S 结构的一个网上书店.通过这个网上书店,可以实 现简单的电子商务功能. 整个网站风格一致,较为美观,有完善的导航机制.普通用户从前台首页进入,员工用 ...

  4. java毕业设计——基于java+Spring+JSP的宠物网站设计与实现(毕业论文+程序源码)——宠物网站

    基于java+Spring+JSP的宠物网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Spring+JSP的宠物网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  5. android毕业设计——基于Android+Tomcat+JavaEE的旧物交易平台设计与实现(毕业论文+程序源码)——旧物交易平台

    基于Android+Tomcat+JavaEE的旧物交易平台设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Android+Tomcat+JavaEE的旧物交易平台设计与实现,文章末尾附有 ...

  6. java毕业设计——基于java+J2ME的贪吃蛇游戏设计与实现(毕业论文+程序源码)——贪吃蛇游戏

    基于java+J2ME的贪吃蛇游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+J2ME的贪吃蛇游戏设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告P ...

  7. asp毕业设计—— 基于asp+access的论坛网站设计与实现(毕业论文+程序源码)——论坛网站

    基于asp+access的论坛网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的论坛网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 文章目录: 基于 ...

  8. asp毕业设计——基于asp+access的中学网站设计与实现(毕业论文+程序源码)——中学网站

    基于asp+access的中学网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的中学网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 文章目录: 基于 ...

  9. asp毕业设计—— 基于asp+access的网上花店设计与实现(毕业论文+程序源码)——网上花店

    基于asp+access的网上花店设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的网上花店设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告P ...

  10. 【java毕业设计】基于java+swing的模拟写字板设计与实现(毕业论文+程序源码)——模拟写字板

    基于java+swing的模拟写字板设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+swing的模拟写字板设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报 ...

最新文章

  1. 算法72----最大正方形
  2. Linux脚本统计指定目录下文件和文件夹数量
  3. 如何避免form提交进行页面跳转
  4. 牛客 - Gaming with Mia(dp)
  5. 关于android中的armeabi、armeabi-v7a、arm64-v8a及x86等
  6. 3dmax2014 uv用法_3dmax中UV贴图的使用方法
  7. Python数据库sqlite3详解
  8. C语言基础知识 ---------- 指针(pointer)、结构(structure)、字串(Char)
  9. java locale 中国_Java描述语言、国家和地理的类——Locale
  10. VmBox下安装linux CentOS-7资料
  11. 2370 小机房的树
  12. shader实例:实现类似宝可梦 Pokemon 的战斗转场
  13. BZOJ1103 大都市 DFS序 树状数组维护差分数组
  14. 4G无线WIFI太阳能低功耗监控摄像头野外4G监控无电无网远程摄像机
  15. 【微信小程序】---- redux 在原生微信小程序的使用实例
  16. 2023 最新微信域名拦截检测API代码
  17. 基于pycharm的简单爬虫
  18. 一次nginx代理前端报rewrite or internal redirection cycle while internally redirecting to “index.html“ 记录
  19. 【计算机毕业设计】java健康管理平台
  20. 微端大带宽机器怎么选?

热门文章

  1. 网络推广网络优化必备渠道网址大全 - 举例:智能制造专家
  2. 进度条ProgressBar 样式属性
  3. yp极简 选择排序(C++)
  4. 一个简单的音乐网站设计与实现(HTML+CSS)
  5. 多种查看系统时间的方法
  6. TimeZoneInfo
  7. html radio name属性,HTML Input Radio name用法及代码示例
  8. java实现大气无风环境污染物扩散模拟
  9. antd table动态表头_使用 antd@4 table 自定义筛选表头功能做一个联动搜索表头筛选...
  10. 新概念二册 Lesson 17 Always young青春常驻 ( 情态动词must)