PostBackUrl=\添加系部
PostBackUrl=\添加班级
PostBackUrl=\添加学生信息
PostBackUrl=\添加课程信息
PostBackUrl=\添加学生成绩
PostBackUrl=\添加管理员
3.2 用户登录模块 为确保系统整体安全性,进行操作前需先进行登录,即用户在相应的文本框中输入用户姓名和密码后,单击登录按钮,系统对用户输入的用户名和密码与数据库users表中的用户名进行比较,若找到匹配的用户名,则登录成功,用户可以进行后续操作,若不成功则保持在登录界面。
【登录页面】
用户登录模块实现后台代码login.aspx.cs
protected void btnlog_Click(object sender, EventArgs e) {
string strconn =
ConfigurationManager.ConnectionStrings[\].ConnectionString; SqlConnection conn = new SqlConnection(strconn); conn.Open();
string username = txtUserName.Text.ToString(); string userpswd = txtUserpass.Text.ToString(); string sqlSel = \;
if (radlistRole.SelectedValue.Trim() == \)
{
//超级管理员登录
sqlSel = %upswd=@upswd and role='admin'\; }
else //handle {
//管理员登录
sqlSel = %upswd=@upswd and role='handle'\; }
SqlCommand com = new SqlCommand(sqlSel, conn);
com.Parameters.Add(new SqlParameter(\, SqlDbType.VarChar, 20)); com.Parameters[\].Value = username;
com.Parameters.Add(new SqlParameter(\, SqlDbType.VarChar, 20)); com.Parameters[\].Value = userpswd;
//判断ExecuteScalar方法返回的参数是否大于0,大于则表示登录成功 if (Convert.ToInt32(com.ExecuteScalar()) > 0) {
//登录成功
if (radlistRole.SelectedValue.Trim() == \) {
Session[\] = \;
Response.Redirect(\); } else {
Session[\] = \;
Response.Redirect(\); } }
//登录失败 else {
Response.Write(\language=javascript> alert('登录失败,请重试!')\);
Response.Redirect(\); } }
3.3 成绩管理模块
登录后,管理员可以对成绩信息进行查询、更新、删除等操作。 (1) 具体界面设计:
【查询成绩界面】
【添加成绩界面】
查询成绩实现代码listgrade.aspx
ConnectionString=\<%$ ConnectionStrings:xscgConnStr %>\ DeleteCommand=\
InsertCommand=\VALUES (@gid, @sid, @coid, @grades)\
SelectCommand=\FROM [grade], [stuinfo], [course] where grade.sid=stuinfo.sid and grade.coid=course.coid\
UpdateCommand=\@gid\
添加成绩实现后台代码addgrade.aspx.cs:
public partial class admin_addstuinfo : System.Web.UI.Page {
protected void Page_Load(object sender, EventArgs e) {
if (Session[\] == null) {
Response.Redirect(\); } }
protected void btnReset_Click(object sender, EventArgs e) {
txtsid.Text = \; txtcname.Text = \; txtsname.Text = \; txtnational.Text = \; txtphone.Text = \; txtage.Text = \;
radbtngendle.SelectedIndex = 0; }
protected void btnAdd_Click(object sender, EventArgs e) {
string strconn =
ConfigurationManager.ConnectionStrings[\].ConnectionString; SqlConnection conn = new SqlConnection(strconn); conn.Open(); string cid = \;
string gendle = radbtngendle.SelectedValue.Trim(); string sid = txtsid.Text.ToString(); string sname = txtsname.Text.ToString(); string cname = txtcname.Text.ToString();
string national = txtnational.Text.ToString(); string phone = txtphone.Text.ToString();
int age = Convert.ToInt32(txtage.Text.ToString());
string sqlSel = \ + cname + \; SqlCommand cmd = new SqlCommand(sqlSel, conn); SqlDataReader dr = cmd.ExecuteReader(); dr.Read();
if (dr.HasRows) {
cid = dr[0].ToString().Trim(); }
conn.Close();
string sqlIns = \ + sid + \ + cid + \ + sname + \ + gendle + \ + age + \ + national + \ + phone + \; conn.Open();
SqlCommand com = new SqlCommand(sqlIns, conn); Int32 exe = 0; try {
exe = com.ExecuteNonQuery(); }
catch (Exception ex) { } finally {
conn.Close(); }
if (exe > 0) {
Response.Write(\添加成功!')\);
btnReset_Click(sender, e); } else {
Response.Write(\添加失败!')\); } }
}
四.【心得体会】
通过一周的课程设计,完成了学生成绩管理系统,并成功实现了预期的基本功能。但由于个人本身没有学习过ASP.NET语言,所以开始时根本找不到头绪,跟着书本尝试做了几个小网站才慢慢上手,时间比较匆忙,本系统还存在着许多
缺陷,对表的设计也不够完善,在本系统中,还有很多需改进的地方,相信通过改善该系统会更完善。 在这次设计过程中,我了解到自身在许多相关知识方面都认识得不够深刻,致使在实际的运行操作中遇到许多困难与阻碍。在实验过程中,许多问题都在与同学的讨论中得到解决,并在讨论过程中,又对所学有了新的体会,学到了更多的知识。经过一周的课程设计,体会到想要做一个完善的,功能全面的系统,仅仅依靠课本上学习的知识是远远不够的,不仅仅相关的专业知识要熟练运用,对所做的系统用途也要充分了解。这次的课程设计对以后的工作与生活是一次经验的积累。 【期间主要遇到问题及解决办法】 日期时间 问题和难点描述 问题的原因及解决思路和方法 2014.12.30 没有C#.NET语言编程基础,图书馆找资料,并尝试做了几无从下手 2014.1.2 网站与数据库连接失败 个小网站后,开始上手 更改数据库身份验证方式,并更改程序权限 2014.1.3
编程时候遇到的各种奇怪语法问题 上百度求助,并调试程序