与主界面中的搜索引擎的权限有些不同:主界面中的搜索引擎所有用户皆可使用,而这个搜索引擎只有管理员登录才可以使用,如图5-7所示。
图5-7 学生信息管理界面
在学生信息管理界面中,单击“添加学生”或“编辑”链接,可以打开学生信息编辑界面。在此界面中可以编辑学生的信息,界面设计图5-8所示。
图5-8 学生信息编辑界面
27
5.6 信息留言模块
单击首页上方的“信息留言”链接,可以进入信息留言界面。在此界面的上方,显示学生的留言信息,下面为信息添加框,在这里学生可以输入留言信息。界面结构如图5-9所示
图5-9 信息留言界面
5.7 选课模块
单击首页上方的“课程设置”链接,可以进入选课界面,在此界面上可以看到选修课的科目,老师以及学分等信息。界面结构如图5-10所示。
28
图5-10 选课界面
5.8 代码实现
根据前面的设计方案,给出相应的重要的代码实现。
下面的代码中首先定义了一个数据连接的全局变量,然后建立了一个
DataSet数据集,最后用SqlDataAdapter方法与数据库建立了数据库连接。 Public SqlConnection Connection; Public DataSet FillDataSet(string sSQL) {
DataSet ds=new DataSet();
SqlDataAdapter command=new SqlDataAdapter(sSQL, Connection); Return ds; }
下面的代码用于向数据集中填充数据,并返回该数据集。
Public int FillDataSet(string sSQL, ref DataSet ds)
29
{
SqlDataAdapter command=new SqlDataAdapter(sSQL, Connection); Return command.Fill(ds,”Table”); }
下面的程序中定义了数据库查询,并将字符串数据结果返回的方法。在此用
select语句查询数据,然后创建了一个SqlCommand对象执行此SQL语句,接下来用ExecuteReader方法获取数据。
string sSQL = \SqlCommand command = new SqlCommand(sSQL, Connection); SqlDataReader
reader=command.ExecuteReader(CommandBehavior.SingleRow); string sReturn;
下面的代码中设置了装载与关闭主页面时执行的事件。在Page_Load中,是
页面装载时所发生的事件,并与CCUtility类文件进行链接。在Page_Unload事件中,关闭了与CCUtility类的链接,并与数据库断开连接。 protected void Page_Load(object sender, EventArgs e) {
Utility=new CCUtility(this); if
(Session[\
!=
null
&&
Int16.Parse(Session[\Login_logged = true;
//如果初次装载页面,执行Page_Show if (!IsPostBack) {
30
AdminList_Title.Visible = false; AdminStu_Title.Visible = false; AdminClass_Title.Visible = false; Page_Show(sender, e); } }
protected void Page_Unload(object sender, EventArgs e) {
if(Utility!=null) Utility.DBClose(); }
下面的代码用于将数据和Repeater控件绑定。
void EmpMonth_Bind() {
EmpMonth_Repeater.DataSource = EmpMonth_CreateDataSource(); EmpMonth_Repeater.DataBind(); }
以班级信息管理为例,下面的代码为插入新记录事件。在此代码中,首先查
询出最大的ID值,将此ID值加1,然后将新添加的信息插入到数据表中。 sql=\
SqlCommand comm = new SqlCommand(sql, Utility.Connection); SqlDataReader myReader;
myReader = comm.ExecuteReader();
31