ASP.NET学生成绩管理系统

一、实现功能

1.  用户注册登录
2.  两种身份:教师和学生
3.  学生能够查看自己的成绩
4.  教师可以对班级,对学生的信息进行查看
5.  教师可以增、减、查、改等学生信息

二、简单代码

1.登陆页面(内容判断不在内)

//教师学生判断登陆
                string user = this.txtUserName.Text;
                string pwd = FormsAuthentication.HashPasswordForStoringInConfigFile(this.txtPwd.Text, "MD5");
                string sql = "select a.*,b.RoleName,b.PowerIds from tb_UserInfo a join tb_Role b on a.RoleId=b.Id where a.LoginName=@LoginName and a.LoginPwd=@LoginPwd";
                SqlParameter[] parameters = 
                {
                   new SqlParameter("@LoginName",user),
                   new SqlParameter("@LoginPwd",pwd)
                };
                SqlDataReader sdr = SqlHelper.ExecuteReader(connStr, CommandType.Text, sql, parameters);
                if (sdr.Read())
                {
                    Session["UserName"] = sdr["UserName"].ToString();
                    Session["UserId"] = sdr["Id"].ToString();
                    Session["RoleName"] = sdr["RoleName"].ToString();
                    sdr.Close();
                    Response.Redirect("Main.html");
                }
                else
                {
                    sdr.Close();
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "loginError", "alert('用户或密码错误!');", true);
                }

2.班级添加(内容判断不在内)

 string sql = "insert into tb_ClassInfo values(@ClassName,@Remark)";
                SqlParameter[] parameters = 
                {
                   new SqlParameter("@ClassName",txtClassName.Text.Trim()),
                   new SqlParameter("@Remark",Server.HtmlEncode(txtRemark.Text.Trim()))
                };
                bool result = false;
                result = SqlHelper.ExecuteNonQuery(connStr, CommandType.Text, sql, parameters) > 0 ? true : false;
                if (result)
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "addOk", "alert('添加成功!')", true);
                }
                else
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "addError", "alert('添加失败!')", true);
                }

3.删除学生页面(内容判断不在内)

string chkSql = "select ClassId from tb_StuInfo where ClassId=" + id;
                object obj = SqlHelper.ExecuteScalar(connStr, CommandType.Text, chkSql);
                if (obj != null)
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "havestu", "alert('存在该班级的学生,不能删除该班级!')", true);
                    return;
                }

                string sql = "delete from tb_ClassInfo where Id=" + id;
                bool result = false;
                result = SqlHelper.ExecuteNonQuery(connStr, CommandType.Text, sql) > 0 ? true : false;
                if (result)
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "delOk", "alert('删除成功!')", true);
                    BindgvClass(gvClassManage.PageSize, gvClassManage.PageIndex);
                }
                else
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "delError", "alert('删除失败!')", true);
                }

4.添加学生页面(内容判断不在内)

if (!CheckStuId("add"))
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "addcheckerror", "alert('该学号已存在!')", true);
                    return;
                }


                string sql = "insert into tb_StuInfo values(@StuNum,@StuPwd,@StuName,@Birthday,@Sex,@ClassId,@StartTime)";
                SqlParameter[] parameters = 
                {
                   new SqlParameter("@StuNum",txtstuId.Text.Trim()),
                   new SqlParameter("@StuPwd",txtstuPwd.Text.Trim()),
                   new SqlParameter("@StuName",txtstuName.Text.Trim()),
                   new SqlParameter("@Birthday",txtBirth.Value),
                   new SqlParameter("@Sex",radMan.Checked),
                   new SqlParameter("@ClassId",Convert.ToInt32(ddlClass.SelectedValue)),
                   new SqlParameter("@StartTime",txtJionTime.Value)
                };
                bool result = false;
                result = SqlHelper.ExecuteNonQuery(connStr, CommandType.Text, sql, parameters) > 0 ? true : false;
                if (result)
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "addOk", "alert('添加成功!')", true);
                }
                else
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "addError", "alert('添加失败!')", true);
                }

4.学生成绩查询页面(内容判断不在内)

  string sql0 = "select COUNT(a.Id) from tb_Score a join tb_StuInfo b on a.StuId=b.Id join tb_ClassInfo c on c.Id= b.ClassId join tb_Subject d on d.Id=a.SubjectId join tb_Schedule e on a.ScheduleId=e.Id where b.StuNum like @StuNum and b.StuName like @StuName and c.ClassName like @ClassName and d.SubjectName like @SubjectName and e.ScheduleName like @ScheduleName";
            AspNetPager1.AlwaysShow = true;
            AspNetPager1.PageSize = pagesize;

            string sql = "select top " + pagesize + "  a.*,b.StuNum,b.StuName,c.ClassName,d.SubjectName,e.ScheduleName from tb_Score a join tb_StuInfo b on a.StuId=b.Id join tb_ClassInfo c on c.Id= b.ClassId join tb_Subject d on d.Id=a.SubjectId join tb_Schedule e on a.ScheduleId=e.Id where b.StuNum like @StuNum and b.StuName like @StuName and c.ClassName like @ClassName and d.SubjectName like @SubjectName and e.ScheduleName like @ScheduleName and a.Id not in(select top " + (pageindex - 1) * pagesize + " Id from tb_Score)";
            SqlParameter[] parameters =
                {                          
                    new SqlParameter("@StuNum","%"+txtStuNum.Text.Trim()+"%"),   
                    new SqlParameter("@StuName","%"+txtName.Text.Trim()+"%"),
                    new SqlParameter("@ClassName","%"+txtClass.Text.Trim()+"%"),
                    new SqlParameter("@SubjectName","%"+txtSubject.Text.Trim()+"%"),
                    new SqlParameter("@ScheduleName","%"+txtSchedule.Text.Trim()+"%")
                };
            AspNetPager1.RecordCount = Convert.ToInt32(SqlHelper.ExecuteScalar(connStr, CommandType.Text, sql0, parameters));
            DataSet ds = SqlHelper.ExecuteDataset(connStr, CommandType.Text, sql, parameters);
            gvStudentScore.DataSource = ds;
            gvStudentScore.DataBind();

三、结尾

因为特别的原因有很多都没有展示,我也希望给才接触的asp.net的人有所帮助~~~感谢大家的阅读和支持,能给你们带来帮助也是我成长的一步~需要带数据库完整的直接加我(不白给)1076396021
直接跳转

已标记关键词 清除标记
<p> 该教程是毕业设计作品,主要基完成于ASP.NET三层架构图书借阅管理系统的设计与实现 </p> <p> <br /></p> <p> 本套课程为实战过程路线,包含整个系统的分析、设计全过程和配套源码,课程共55个课时,从最初的业务需求入手,一步步将整个系统的设计过程进行实现,课程包括界面设计和代码编写等整个制作过程的完整录像,因此对于学习ASP.NET三层架构和毕业设计制作的学员具有很好的指导作用。 </p> <p> 在对课题进行分析后,本教程汲取了图书借阅管理系统的优缺点,并进行创新和提高,在图书借阅管理等基础功能上,新增图书借阅统计图表、图书借阅黑名单、教师图书推荐、学生和教师的批量导入等功能,并对功能的业务逻辑和设计过程进行了详细的分析,该系统功能与传统图书借阅管理系统有很大的优势,方便<span>学生</span>进行论文的编写和制作,同时适合大多数院校的<span>毕业设计要求。</span> </p> <p> <span>基于ASP.NET图书借阅管理系统主要功能包括图书类型管理、图书信息管理、学生信息管理、教师信息管理、图书借阅管理、黑名单管理、图书推荐管理、图书统计、管理员管理和借阅制度管理等。<br /></span> </p> <p> <span>系统配套源码请在课程最后一节下载或联系讲师<br /></span> </p> <p> <span><span>说明:如果需要答疑、咨询、答辩辅导、论文辅导降重、功能修改等服务请与导师协商,学员较多,无法提供免费服务。</span><span></span><br /></span> </p>
相关推荐
课程通过实际项目融入常用开发技术架构,讲授风格独特,提供详细上课日志及答疑,赠送配套的项目架构源码注释详细清晰且表达通俗,均能直接在实际项目中应用,正真的物超所值,价格实惠 任务作业: 综合运用《C#/.Net企业级系统架构设计实战精讲教程》课程所学知识技能设计一个学生成绩管理系统的架构。要求: 1.系统基于MVC的三层架构,各层单独建不同的解决方案文件夹。 2.采用Model First开发方式,设计架构时只需要设计学生表(TbStudent)和课程表(TbCourse)。学生表必须有的字段是ID、stuName、age;课程表必须有的字段是ID、courseName、content。 3.数据访问层采用Entity Framework或NHibernate来实现,必须封装对上述表的增删改查方法。 4.必须依赖接口编程,也就是必须要有数据访问层的接口层、业务逻辑层的接口层等接口层。层层之间必须减少依赖,可以通过简单工厂或抽象工厂。 5.至少采用简单工厂、抽象工厂、Spring.Net等技术中的2种来减少层与层之间的依赖等。 6.封装出DbSession类,让它拥有所有Dal层实例和SaveChanges方法。 7.设计出数据访问层及业务逻辑层主要类的T4模板,以便实体增加时自动生成相应的类。 8.表现层要设计相关的控制器和视图来验证设计的系统架构代码的正确性,必须含有验证增删改查的方法。 9.开发平台一定要是Visual Studio平台,采用C#开发语言,数据库为SQL Server。 10.提交整个系统架构的源文件及生成的数据库文件。 (注意: 作业需写在CSDN博客中,请把作业链接贴在评论区,老师会定期逐个批改~~)
目的:通过调研目前教学管理系统中的成绩管理子系统,了解成绩管理子系统的业务流程;通过分析比较,结合用户对成绩管理子系统的改进意见与实现情况,运用面向对象思想方法,设计和实现一个满足功能和性能,并有所创新的成绩管理子系统,以提高成绩管理的自动化、友好性等。本系统基于.NET平台和SQL Server数据库,通过毕业设计,可以使学生对.NET结构下开发B/S模式的分布式三层数据库系统有一个全面的了解。 本系统从功能上划分可分为以下几大模块:功能模块管理,组权限管理,学生信息管理,课程信息管理,学生成绩管理,授课信息管理,学生信息查询,学生成绩统计等几大模块。以下将对各子模块进行说明。 功能模块管理:将系统功能模块保存到数据库中以便于动态地进行不同用户组权限的分配等操作。本模块包括功能模块的添加,删除,修改等。 组权限管理:对用户进行分组,并将权限设置到不同的用户组。 学生信息管理模块:输入学生基本信息,并可以对学生信息进行添加、查询、修改、删除。还可以关键字查询并从数据库里调出的学生基本信息.输出学生基本信息,学号、班号、姓名查询的信息结果。 课程信息管理:设置课程号,课程名,先修课等课程信息。 成绩信息管理模块:输入成绩信息,并可以对成绩信息进行添加、查询、修改、删除。还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。输出查询的学生成绩信息。 授课信息管理:对教师授课信息的调度,安排等信息的管理。 学生信息查询:本模块是可对学生成绩进行查询,可按学号,姓名,年龄,所在院系,入学年份等不同条件独立查询或进行模糊查询。 学生成绩统计:对学生成绩总分,平均分等进行统计。
【论文题名】 基于ASP.NET学生信息管理系统的设计与实现 【论文作者】 聂书志 【作者专业】 软件工程  【导师姓名】 陆永忠  【授予学位】 硕士 【授予单位】 华中科技大学  【授予时间】 20061002 【 分类号 】 TP393.18 G47  【 关键词 】 校园网 学生信息 信息管理系统 数据库技术 ASP技术  【 摘 要 】 随着Internet的普及,越来越多的学校建立了自己的Web网站,其中学生信息管理系统是构成学生网站的一个重要组成部分。传统的基于ASP和JavaScript、VBScript等脚本语言,将动态网页和数据库结合,通过应用程序来处理的方法具有较大局限性。 系统的开发过程中采用的技术是在.netFramework平台上利用ASP.net技术来开发,采用C#语言来实现。该系统采用ADO.net技术可以容纳具有复杂关系的数据,不再依赖于数据库链接;而且其开发模式有助于减少软件的维护费用,提高软件的可移植性和可伸缩性,提高网络性能,甚至有助于提高软件开发人员的生产力和缩短开发周期;相对于ASP来说,配置应用程序ASP.net的安全性更高。并且对ASP.net安全机制的研究与实现进行比较深入的研究。 正是由于采用了上述方法,使得本系统与用ASP技术开发的系统相比具有操作简单、界面友好,完全控件式的页面布局,使得信息的录入工作更简便;同时许多选项包括信息类别、来源部门等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况;具有即时可见性,对信息的处理将立即在主页的对应栏目显示出来,达到”即时发布、即时见效”的功能;系统功能完善,包括常见网站的信息管理的各个方面完整地实现了网站对信息的管理要求;并且方便移植,针对不同的学校或相关单位,只需要稍作修改就可以开发出适合本部门特点的信息管理系统等特点。
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页