机房重构(C#)--学生基本信息服务
前言
上一篇博客已经说明了我的模板方法的主模块窗体(请参考),接下来请欣赏我的学生基本信息阶段
存储过程+如何继承窗体请参考
【C#机房重构】----组合查询(模板方法+存储过程)
子模块(U层)
1. 根据字段添加内容:
public override void addcontent(ComboBox file, ComboBox mark)
{
switch (file.Text )
{
case"学生号":
case "年级":
case "班级":
mark.Text = "";
mark.Items.Clear();
mark.Items.Add("=");
mark.Items.Add("<>");
mark.Items.Add("<");
mark.Items.Add(">");
break;
case"学生姓名":
case "学生性别":
case"学院":
mark.Text = "";
mark.Items.Clear();
mark.Items.Add("=");
break;
}
}
2. 获取数据库名字
public override string GetdbName()
{
return "Student";
}
3. 重写英文转换成数据库中所识别的英文的方法:
public override string ToEnglish(string cbo)
{
switch (cbo)
{
case"学生号":
return "studentNo";
case"学生姓名":
return "studentName";
case"学生性别":
return "sex";
case"学院":
return "department";
case"年级":
return "grade";
case"班级":
return "specialty";
default:
return "";
}
}
4. 初始加载:
private void BasicInfoMaintain_Load(object sender, EventArgs e)
{
//这是一个数组方法:先设定一个数组,然后让他自动加载
string[] Field = { "学生号", "学生姓名", "学生性别", "学院", "年级", "专业" };
cmbFeild1.Items.AddRange(Field);
cmbFeild2.Items.AddRange(Field);
cmbFeild3.Items.AddRange(Field);
}
5. 查询:
private void btnInquire_Click(object sender, EventArgs e)
{
if (DateGV.Rows.Count>0)
{
DateGV.Columns[0].HeaderText = "学生号";
DateGV.Columns[1].HeaderText = "学生姓名";
DateGV.Columns[2].HeaderText = "学生性别";
DateGV.Columns[3].HeaderText = "学院";
DateGV.Columns[4].HeaderText = "年级";
DateGV.Columns[5].HeaderText = "专业";
}
}
学生修改信息界面
在主窗体中单击出来,或者是双击datagridview显示出来
1. 定义变量
public DataGridViewRow Row;//用于接收basicinfomaintain中的查询出来选择的数据
private bool isClick;//判断是否被单击过;
2. 初始加载
private void frmModifysinfo_Load(object sender, EventArgs e)
{
//加载里面的信息
this.txtStudentNo.Text = Row.Cells["StudentNo"].Value.ToString();
this.txtStudentName.Text= Row.Cells[1].Value.ToString();
this.txtMoney.Text = Row.Cells[6].Value.ToString();
this.txtDepartment.Text = Row.Cells[3].Value.ToString();
this.txtGrade.Text = Row.Cells[4].Value.ToString();
this.txtSpecialty.Text = Row.Cells[5].Value.ToString();
}
3. 修改
isClick = true; //为了下面撤销修改,如果被单击过
UpdateStudent();
MessageBox.Show("修改成功");
4. 撤销修改
private void btnUndo_Click(object sender, EventArgs e)
{
if (isClick)
{
this.txtStudentNo.Text = Row.Cells["StudentNo"].Value.ToString();
this.txtStudentName.Text = Row.Cells[1].Value.ToString();
this.txtMoney.Text = Row.Cells[6].Value.ToString();
this.txtDepartment.Text = Row.Cells[3].Value.ToString();
this.txtGrade.Text = Row.Cells[4].Value.ToString();
this.txtSpecialty.Text = Row.Cells[5].Value.ToString();
UpdateStudent();
MessageBox.Show("撤销成功");
}
else
{
MessageBox.Show("还没有修改,请不要撤销");
}
}
5. UpdateStudent方法
public void UpdateStudent()
{
Entity.Student Student = new Entity.Student();
Student.studentNo = txtStudentNo.Text;
Student.studentName = txtStudentName.Text;
Student.balance = Convert.ToDecimal(txtMoney.Text);
Student.department = txtDepartment.Text;
Student.grade = txtGrade.Text;
Student.specialty = txtSpecialty.Text;
Facade.StudentFacade FStudent = new Facade.StudentFacade();
Boolean flag = FStudent.FacadeUpdateStudentAll(Student);
}