机房重构(C#)--学生基本信息服务

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/aimin_com/article/details/82822885

前言
上一篇博客已经说明了我的模板方法的主模块窗体(请参考),接下来请欣赏我的学生基本信息阶段

存储过程+如何继承窗体请参考
【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);
        }

猜你喜欢

转载自blog.csdn.net/aimin_com/article/details/82822885
今日推荐