在上面的代码中部分解释:
Data source:表示数据库服务器地址,可以填IP地址,若为本机数据库,则填(local) Initial catalog:表示数据库名称。
Persist security info:表示数据库登录验证模式。SQL Server支持用户名登录验证和Windows身份验证两种模式。一般选用前一种,故这里Persist security info的值署为True。
User id:表示登录数据库的用户名。 Pwe:表示登录数据库的用户名的密码。
Packet size:表示包的大小值,此项默认配置为4096即可。
4.2 数据库连接操作类—Db类
在ASP.NET中通过ADO.NET技术对数据库进行操作。ADO.NET中有许多很方便的类可用
来操作数据库,例如SqlConnection类、SqlDataAdapter类、SqlCommand类、DataSet类等。由于在选课系统中,操作数据库的地方非常多,为了避免很多重复代码的编写,所以对数据库操作做了简单的封装—Db类。在Db类中有三个静态函数ExecuteSelectSql、ExecuteSql和ExecuteInsertSql,其中ExecuteSelectSql函数用来执行查询操作,ExecuteSql用来执行修改、插入和删除三类操作,ExecuteInsertSql执行需要返回刚插入记录的identity的insert语句。
通过ADO.NET执行SQL语句从而对数据库进行操作,一般顺序为:先通过SqlConnection的Open函数连接到数据库,然后再通过Sqlcommand执行指定的SQL语句,执行结束后再调用SqlConnection的Close函数关闭数据库连接。 ExecuteSelectSql函数的代码如下:
执行select类型的sql语句,返回select得到的数据集
public static DataSet ExecuteSelectSql( string sqlSelect ) {
SqlConnection conn = new SqlConnection(connString);
SqlDataAdapter sda = new SqlDataAdapter(sqlSelect,conn); DataSet ds = new DataSet(); try {
sda.Fill(ds); }
catch(SqlException e) {
throw new Exception(e.Message); }
return ds; }
ExecuteSql函数代码如下:
public static int ExecuteSql( string sql ) {
int rows = -1;
SqlConnection conn = new SqlConnection(connString); SqlCommand cmd = new SqlCommand(sql,conn); try {
conn.Open();
rows = cmd.ExecuteNonQuery(); }
catch(SqlException e) {
throw new Exception(e.Message); }
finally {
cmd.Dispose(); conn.Close(); }
return rows; }
4.3 工具类MyUtility类
在网站的编写过程中经常会有很多公共函数调用,把它们都写在一个工具类里:MyUtility类,每个函数作为工具类的一个静态成员函数。其中包括MD5静态成员函数以及Alert静态成员函数。
MD5静态成员函数:MD5算法。MD5算法是一个不可逆的加密算法,通常用于重要信息的加密,如登录密码,在ASP.NET中,提供有MD5的算法实现函数,调用MD5算法代码如下:
public static string MD5(string str) {
string result = \ result = FormsAuthentication.HashPasswordForStoringInConfigFile(str,\ return result; }
Alert静态成员函数的功能是显示一个提示对话框,在网站的运行过程中,经常需要给用户一些即时反馈,比如修改密码成功,选课成功等提示框。代码如下: public static string Alert(string s) {
return \
}
Back函数的功能是回退到某个网页,i的取值通常为负,当为-1时表示回退到上一个网页,为-2时表示回退到上上个网页,依次类推。代码如下: public static string Back(int i) {
return \_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 = \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: