5.1系统界面说明
下面是在线选课系统的预览,此处简单介绍本系统的部分功能。
1.登录页面,如图5-1:
图5-1
在用户名和密码处输入用户名和密码,在“用户类型”下拉列表框中选择“学生”,单击“登录”按钮,登录选课系统。
主要代码如下:
private void btnLogin_Click(object sender, System.EventArgs e)
{
int type = Int32.Parse(ddlType.SelectedItem.Value);
string user = txtUser.Text.Trim();
string inputkey = txtKey.Text.Trim();
string key = "";
string sql = "";
DataSet ds;
switch( type )
{
case 1://学生
//验证学生身份代码
break;
case 2://教师
//验证教师身份代码
break;
case 3://系统管理员
//验证管理员身份代码
break;
default;
break;
}
}
2.查看必修课程列表页面,如图5-2:
图5-2
登录成功后,进入学生主页,点击“必修课程”链接,得到所有必修课程的列表,在列表中可以看到所有必修课程及课程的简单信息,如授课教师姓名、课程所占学分等。
在列表中可以点课程名称,如“计算机应用基础”链接,查看课程详细信息;点教师姓名,如“李萍”链接,查看教师的详细信息;点击“查看上课时间地点”链接,查看对应课程的上课时间和地点。
在页面加载的时候从数据库读取所有必修课信息,代码如下:
string sql = "select Course.*,TName from Course,Teacher where CType like '必修' and Course.TId like Teacher.TId";//查询处所有必修课程信息
DataSet ds = Db.ExecuteSelectSql(sql);
if ( ds != null && ds.Tables.Count > 0 )
{
dgCourse.DataSource = ds.Tables[0];
dgCourse.DataBind();//将查询结果绑定到DataGrid中
}
3.查看选修课程列表页面,如图5-3:
图5-3
单击“选修课程”链接,查看所有选修课程列表,在列表中给出了比必修课程更多的信息,比如多了对应选修课程的前导课程、最大人数、当前已选人数等,对每个选修课程均有一个“选修该课程”的按钮,单击此按钮方可选择对应课程。
主要代码如下:
string sql = "select x.*,TName,(select CName from Course as y where y.CId = x.CPreCId) as CPreCName from Course as x,Teacher where x.CType like '选修' and x.TId like Teacher.TId";
//查询该学生已选修的课程
DataSet ds = Db.ExecuteSelectSql(sql);
if ( ds != null && ds.Tables.Count > 0 )
{
dgCourse.DataSource = ds.Tables[0];
dgCourse.DataBind();
for ( int i = 0; i < ds.Tables[0].Rows.Count; i++ )
{
sql = "select count(*) from SC where CId = "+ds.Tables[0].Rows[i]["CId"].ToString();
DataSet ds1 = Db.ExecuteSelectSql(sql);
if ( ds1 != null && ds1.Tables.Count > 0 && ds1.Tables[0].Rows.Count > 0 )
dgCourse.Items[i].Cells[6].Text = ds1.Tables[0].Rows[0][0].ToString();
}
}
bool locked= bool.Parse(Session["Locked"].ToString());
if ( ! locked )
{
lbLock.Text = "您尚未锁定选课信息!";
}
else
{
lbLock.Text = "选课信息已被锁定!";
dgCourse.Columns[9].Visible = false;
}
4.查看已选课程页面,如图5-4:
图5-4
在上一步查看选修课程的列表中,选择“计算机密码学”、“计算机图形学”、“线性代数”三门课程后,点击“已选课程”链接查看已经选择的课程列表,在列表中除了可以看到与上一步中相同的信息外,还可以查看到课程成绩。刚才选择的三门课程的成绩均为0,当课程结束后,教师登录本系统给所有学生评分,学生再次浏览此页面可查看到课程的成绩,若成绩合格,学生可获得对应课程的学分。
锁定课程代码如下:
string sql = "select count(*) from SC where SId like '"+Session["Id"].ToString()+"'";
DataSet ds = Db.ExecuteSelectSql(sql);
int nCourse=0;
if ( ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0 )
{
nCourse = Int32.Parse(ds.Tables[0].Rows[0][0].ToString());
}
if ( nCourse < 2 )
{
Response.Write(MyUtility.Alert("您必须选择至少两门选修课程!"));
return;
}
else
{
//先将所有必修课程加入到选课表中再锁定
sql = "select CId from Course where CType = '必修'";
DataSet ds2 = Db.ExecuteSelectSql(sql);
if ( ds2 != null && ds2.Tables.Count > 0 )
{
for ( int i = 0; i < ds2.Tables[0].Rows.Count; i++ )
{
string cid = ds2.Tables[0].Rows[i][0].ToString();
sql = "insert into SC(SId,CId,Score) values('"+Session["Id"].ToString()+"',"+cid+",0)";
Db.ExecuteSql(sql);
}
}
sql = "update Student set SLocked = 1 where SId like '"+Session["Id"].ToString()+"'";
if ( Db.ExecuteSql(sql) == 1 )
{
lbLock.Text = "选课信息已被锁定!";
Session["Locked"] = "true";
Response.Redirect("Selectedcourse.aspx");
}
}
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>