优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

基于c#的网上选课系统C#+SQL数据库设计与实现

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:

3.4 水晶报表

【买计算机毕业论文就到www.think58.com】

本文来自think58 [资料来源:http://think58.com]

[版权所有:http://think58.com]

copyright think58
[资料来源:THINK58.com]

报表也是一种管理工具,其目的在于帮助用户快速的掌握原始数据中的基本元素和关系。 copyright think58 [资料来源:http://THINK58.com]

.NET中的水晶报表是一个实现原理比较复杂但是使用十分简单的报表工具。 think58好,好think58 [资料来源:http://think58.com]

1. 水晶报表设计器就是在设计器中创建的,在设计器中用户可以进行标题,插入数据,公式,图表。子报表等操作。

think58 [资料来源:http://THINK58.com]

[资料来源:http://www.THINK58.com]

2. .rpt报表文件. think58.com [来源:http://www.think58.com]

3. 数据源 .rpt报表文件取得数据的方法有两种:让水晶报表自己选择数据的不使用任何代码或者编写代码把一个DataSet作为数据源绑定到.rpt报表文件.

think58

[资料来源:http://www.THINK58.com]

[资料来源:THINK58.com]

4. 执行模式 Pull模式----被请求时,水晶报表直接根据指定的驱动连接数据库然后组装这些数据.Push模式----此时开发表不得不自己编写代码连接数据并安装DataSet,同时将它传送至报表.在这种情况下,通过使用连接共享以及限制记录集合得大小,可以使用报表性能的最大值.

think58.com

[版权所有:http://think58.com]

[资料来源:http://THINK58.com]

think58.com [资料来源:http://www.THINK58.com]

[资料来源:http://think58.com]

第四章 数据库的设计

[来源:http://www.think58.com]

本文来自think58

[资料来源:http://think58.com]

[资料来源:http://think58.com]

后台数据库系统选用SQL Server 2000 ,根据选课系统的功能要求以及功能模块的划分,数据需要存储的信息如下: [资料来源:THINK58.com]

l 所有课程信息: 课程ID,课程名称.所属系,授课老师,课程学时,课程学分,限选人数,已选人数等

内容来自think58 [资料来源:http://think58.com]

[来源:http://www.think58.com]

l 所有学生资料: 学生学号,选课密码,学生姓名等 [版权所有:http://think58.com]

l 院系信息: 院系ID,院系名称.

本文来自think58 [资料来源:http://think58.com]

[资料来源:THINK58.com]

l 学生选课的情况: 学生ID,课程ID等

[来源:http://www.think58.com]

l 管理员的资料: 管理员用户名,管理员用户密码,真实姓名. 内容来自think58 [版权所有:http://think58.com]

l 选课时间的限制: 选课开始时间,选课结束时间.

[版权所有:http://think58.com]

因此,选课系统的后台数据库需要建立6个表分别是: Courses表,Stidents表, think58.com [来源:http://www.think58.com]

Departments表,Elective表,本站添加s表和Period表.

[资料来源:www.THINK58.com]

4.1 数据库的设计

[来源:http://www.think58.com]

1. Courses

[来源:http://www.think58.com]

Courses表用于存放所有课程的详细信息.该表有8个字段,全部都是重要信息,不能为空,其中SelectedDtudentNumber字段默认值零.各字段说明如图3-4所示:

think58.com

[资料来源:THINK58.com]

[版权所有:http://think58.com]

本选课系统分为系统和管理员子系统两部分.每个系统的建立都是使用Visual C#创建一个Windows应用程序的项目.为了提高代码的重用性和封装对存储过程的调用,每个子系统都实现了一个存取数据的公用类,提供本子系统使用.同时,为了节省本系统运行时占用的计算机资源,每个子系统的实现时都只使用一个窗体(Form),并且使用TabControl控件,界面的元素都显示在TalControl控件上的选项卡页上.

[版权所有:http://think58.com]

内容来自think58

[资料来源:www.THINK58.com]

5.1 学生子系统的设计 copyright think58 [来源:http://www.think58.com]

内容来自think58

[来源:http://www.think58.com]

[资料来源:http://www.THINK58.com]

学生子系统需要实现以下功能:学生可以查看课程信息,可以在限定的时间内选修课程,可以查询自己选修课成的情况,在限定的时间之内可以取消某门已经选择的课程或者增选某门课程.如果被选课程的选修人数达到了上限,则学生不能选修该课程.下面时系统的卡发过程: copyright think58 [来源:http://www.think58.com]

学生信息类时一个简单的数据库类,用于放在学生的基本信息,包括学号,名字,选课密码.学生信息类的实现代码如下:

think58

[来源:http://www.think58.com]

[资料来源:http://think58.com]

Public class StudentDetails think58.com [资料来源:http://www.THINK58.com]

{Public string StudentNumber;

[资料来源:http://think58.com]

Public string Name; think58好,好think58 [来源:http://www.think58.com]

Public string Password;} think58好,好think58

[来源:http://think58.com]

1. 登陆管理 think58

[资料来源:www.THINK58.com]

学生只能登陆成功才能进行查看课程信息和选修课程等操作.学生子系统的登陆界面如图下如所示:

copyright think58 [资料来源:THINK58.com]

[来源:http://think58.com]

在主窗口MainForm类的构造函数中就调用FillDirectoryTree函数初始化TreeView控件的显示.TreeView控件存放在Electivepanel这个容器中,在窗口创建的时候设置Electivepanel不可见.由于所处的容器不可见,TreeView自然页不可见.只有用户登陆后Electivepanel才可见,从而用户可以看见TreeView控件的课程信息.MainForm的构成函数的代码如下: think58好,好think58 [来源:http://www.think58.com]

public MainForm (){

本文来自think58

[版权所有:http://think58.com]

[资料来源:www.THINK58.com]

InitializeComponent(); think58

[来源:http://think58.com]

studentid=0; 本文来自think58

[资料来源:http://THINK58.com]

courseid=0; think58

[来源:http://www.think58.com]

Electivepanel.Visible=false;

think58

[资料来源:www.THINK58.com]

[资料来源:http://www.THINK58.com]

FillDirectoryTree();} 本文来自think58

[资料来源:http://think58.com]

TreeView控件里面显示数据是通过调用FillDirectoryTree函数实现的. FillDirectoryTree函数首先通过GetDataSet函数从数据库中读取院系的信息返回在一个DataSet里面,然后遍历这个DataSet中的院系信息同时创建TreeView控件树的节点存放这些院系的信息.每个院系节点由通过调用AddDirectories函数为每个院系节点绑定每个院系所开设课程的信息. think58

[资料来源:http://www.THINK58.com]

FillDirectoryTree函数里面调用了AddDirectories函数. AddDirectories函数主要负责在每个院系节点下面创建该院系所开设课程的节点.

think58好,好think58 [来源:http://think58.com]

[资料来源:http://THINK58.com]

单击TreeView控件中的课程名称,在TreeView控件右部会显示课程的详细信息.如下图所示.这个功能在TreeView控件的directoryTree_AfterSelect响应事件函数里实现. [来源:http://www.think58.com]

TreeView控件的directoryTree_AfterSelect响应事件函数首先要判断学生在TreeView控件树中选择的节点是表示院系还是表示课程,如果选择的是课程节点则从数据库中读取该课程的详细信息并显示出来,然后把课程编号存放在主窗口体系的成员变量里面,以便别的主窗口体系的成员函数使用. [资料来源:www.THINK58.com]

[资料来源:http://www.THINK58.com]

内容来自think58 [资料来源:THINK58.com]

(责任编辑:本站添加)