1.班级管理
private ClassService classService = new ClassService();
public ListClassForm()
{
InitializeComponent();
this.dgvListClass.Rows[0].Selected = false; //取消选中
}
//查询所有班级
private void btnListCass_Click(object sender, EventArgs e)
{
List<StuClass> list = classService.GetClassList();//所有班级信息 没有学生人数
this.dgvListClass.AutoGenerateColumns = false;
this.dgvListClass.DataSource = list;
}
//双击显示班级人数
private void dgvListClass_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
string classId = this.dgvListClass.CurrentRow.Cells["ClassId"].Value.ToString();
int num = classService.GetClassNum(Convert.ToInt32(classId));
MessageBox.Show("当前班级人数为:" + num + "人", "信息提示");
}
//新建班级
private void btnAddClass_Click(object sender, EventArgs e)
{
AddClassForm addClassForm = new AddClassForm();
DialogResult result = addClassForm.ShowDialog();
if (result == DialogResult.OK)
{
btnListCass_Click(null, null);
}
}
//修改班级名称
private void btnEditClass_Click(object sender, EventArgs e)
{
//判断用户是否选中
if (this.dgvListClass.RowCount == 0 || this.dgvListClass.CurrentRow == null)
{
MessageBox.Show("没有要修改的信息!", "信息提示");
return;
}
if (this.dgvListClass.CurrentRow.Cells["ClassId"].Value == null)
{
MessageBox.Show("没有要修改的信息!", "信息提示");
return;
}
//获取要修改的ClassId
string classId = this.dgvListClass.CurrentRow.Cells["ClassId"].Value.ToString();
StuClass stuClass = classService.QueryStuClassById(classId);
//显示待修改学生的信息----打开编辑窗口
EditClassForm editClassForm = new EditClassForm(stuClass);
DialogResult result = editClassForm.ShowDialog();
if (result == DialogResult.OK)
{
btnListCass_Click(null, null);
}
}
//删除班级信息
//如果已经由学生存在该班级 不能删除
private void btnDelClass_Click(object sender, EventArgs e)
{
//判断用户是否选中
if (this.dgvListClass.RowCount == 0 || this.dgvListClass.CurrentRow == null)
{
MessageBox.Show("没有要修改的信息!", "信息提示");
return;
}
if (this.dgvListClass.CurrentRow.Cells["ClassId"].Value == null)
{
MessageBox.Show("没有要删除的信息!", "信息提示");
return;
}
//删除确认
DialogResult result = MessageBox.Show("确认要删除吗?", "信息提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (result == DialogResult.Cancel)
{
return;
}
//获取要删除的classId
string classId = this.dgvListClass.CurrentRow.Cells["ClassId"].Value.ToString();
//根据班级Id删除
try
{
if (classService.DeleteClassById(classId) == 1)
{
MessageBox.Show("删除成功!", "信息提示");
btnListCass_Click(null, null);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "删除信息");
}
}
private void ListClassForm_Load(object sender, EventArgs e)
{
}
private void dgvListClass_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void btnClose_Click(object sender, EventArgs e)
{
this.Close();
}
}
查询班级:
/// <summary>
/// 查询所有班级信息
/// </summary>
/// <returns></returns>
public List<StuClass> GetClassList()
{
List<StuClass> list = new List<StuClass>();
string sql = "select ClassId,ClassName from Class";
SqlDataReader dataReader = SQLHelper.GetReader(sql);
while (dataReader.Read())
{
StuClass stuClass = new StuClass();
stuClass.ClassId = Convert.ToInt32(dataReader["ClassId"]);
stuClass.ClassName = dataReader["ClassName"].ToString();
list.Add(stuClass);
}
dataReader.Close();
return list;
}
新建班级:
//添加班级
public int AddClass(StuClass stuClass)
{
string sql = "insert into Class (ClassName) values('{0}')";
sql = string.Format(sql, stuClass.ClassName);
try
{
return SQLHelper.Update(sql);
}
catch (Exception ex)
{
throw new Exception("添加班级信息出错!" + ex.Message); ;
}
}
修改班级:
//修改班级名称
public int updateClass(StuClass stuClass)
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("update Class set ClassName='{0}' where ClassId={1}");
//进行赋值
string sql = string.Format(stringBuilder.ToString(), stuClass.ClassName, stuClass.ClassId);
try
{
return Convert.ToInt32(SQLHelper.Update(sql));
}
catch (SqlException ex)
{
throw new Exception("数据更新失败!:" + ex.Message);
}
catch (Exception ex)
{
throw ex;
}
}
删除班级:
因为该班级已经有学生关联了,所以不可以随意删除。
//删除班级信息
public int DeleteClassById(string classId)
{
string sql = "delete from Class where ClassId=" + classId;
try
{
return SQLHelper.Update(sql);
}
catch (SqlException ex)
{
if (ex.Number == 547)
{
throw new Exception("当前班级学生人数大于0人,不能删除!");
}
else
{
throw new Exception("删除信息错误:" + ex.Message);
}
}
catch (Exception ex)
{
throw new Exception("删除班级信息错误!" + ex.Message);
}
}