【最新版】基于ASPNETSQL学生选课系统毕业设计 下载本文

在上面的代码中部分解释:

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得到的数据集

返回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: