基于C#网上选课系统设计
摘要
随着计算机和网络的普及,高等学校里纷纷建立了C/S或者B/S结构的网上选课系统。与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了便利。学生在学校的公共机房或者宿舍的个人电脑上通过网络来选课,只要选课还没有截止,学生能够灵活的修改自己的选课情况,大大提高了学校选课工作的效率。教务处的教师则通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率。
本系统是C/S(客户端/服务器)两层结构。采用C#数据库编程语言。服务器部分是SQL Server2000 关系数据库。客户端分为学生选课子系统和管理员管理子系统,它们通过存于后台数据库的数据产生联系。
无论是学生子系统还是管理员子系统,都需要从数据库中读取院系的信息以及每个院系所开设的课程信息,将其存放在DataSet里面,然后把数据绑定到控件并显示出来。由于每个院系都开设多门课程供学生选择,院系信息和课程信息形成一个树状的结构,所以使用TreeViewer控件显示这些信息比较合适。
关键字:网上选课系统,、C#.NET、SQL Server2000关系数据库。
2.2需求分析
通过询问参与选课的学生及负责选课工作的老师具体总结出网上选课系统需要能够实现以下功能:
学生和管理员必须通过认证才能登录系统,管理员和学生的权限不一样;
管理员可以添加,删除和修改学生信息,可以添加,删除和修改课程信息,可以查看选课情况,可以修改选课期限。
学生可以查看课程信息,只能在限定时间内选修课程,可以查询自己选修课程的情况,在限定的时间之内还可以退选课程或者增选课程。如果被选课程选修的人数已经达到上限,则学生不能选修该课程。
整个系统的流程是在用户的要求下进行的,学生子系统负责处理学生的选课,退选,增选等事务,并向用户显示操作情况对话框,同时更新数据库中相关表的数据。管理员子系统负责处理管理员对选课情况的管理,向管理员显示操作情况对话框,同时更新数据库中相关表的数据。
系统的数据流图如下:
学生子系统
3.3编码
源程序代码的逻辑应简明清晰,易读易懂,编码必须严格遵循详细设计阶段的结果,编写出严密、有逻辑性的代码。
本应用程序为了提高服务器数据库的访问效率,加快整个系统的运行速度,存取数据全部使用存储过程。同时对一些业务逻辑也使用了一些存储过程。
分别使用如下代码进行数据库连接:
private string m_strConnString;
private SqlConnection m_connConnection;
打开操作:
public void Open(string strDataSource,string strInitialCatalog,string strUserID,string strPwd)
{
m_strConnString="Data Source="+strDataSource+";Initial Catalog="+strInitialCatalog+";User ID="+"sa"+";Password="+strPwd;
m_connConnection= new SqlConnection(m_strConnString);
m_connConnection.Open();
}
关闭操作:
public void Close()
{
m_connConnection.Close();
}
首先创建CSQL类,当类中某一对象需要获取数据库中的数据时,用如下代码调用Open()函数。
CSQL mySQL=new CSQL();
mySQL.Open("localhost","electcourses","sa","2188");
其中localhost表示本地访问,electcourses为数据库名,sa为数据库用户名,2188为用户口令。
MySQL.Close();
使用该语句可以直接关闭数据库。
各模块具体实现代码如下:
第五部分 参考文献
[1]《C#解析教程》
作 者:[美] Ira Pohl著 周靖 译
出版社:清华大学出版社
[2]《C#数据库编程—从入门到精通》
作 者:[美] Jason Price 著 丘仲潘等 译
出版社:电子工业出版社
[3]《数据库系统概论》
作 者:萨师煊 王珊 著
出版社:高等教育出版社
[4]《软件工程导论》(第四版)
作 者:张海藩 著
出版社:清华大学出版社