一、实现功能
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
直接跳转