teachereditform.cs

来自「一个不错的文档」· CS 代码 · 共 217 行

CS
217
字号
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using MySchoolPrj.Entity;
using MySchoolPrj.DAO;
using System.Data.SqlClient;
using System.Collections;

namespace MySchoolPrj.TeacherInfo
{
    public partial class TeacherEditForm : Form
    {
        private State state;

        public State State
        {
            get { return state; }
            set { state = value; }
        }
        private Teacher tea;

        public Teacher Tea
        {
            get { return tea; }
            set { tea = value; }
        }
        public TeacherEditForm()
        {
            InitializeComponent();

        }
        //增加教师信息
        public void addTea(Teacher t)
        {
            try
            {
                DBHelper.con.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = DBHelper.con;
                cmd.CommandType = CommandType.Text;
                string sql = string.Format("insert into teacher values('{0}','{1}','{2}','{3}')",
                        t.TeacherNo, t.TeacherName, t.TeacherTel, t.Memo);
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();
             
            }
            catch (Exception)
            {
                MessageBox.Show("编号不能重复");
            }
            finally
            {
                DBHelper.con.Close();
            }
        }
        //获取界面数据
        public Teacher getInteface()
        {
            Teacher t = new Teacher();
            t.TeacherNo = txtTeacherID.Text;
            t.TeacherName = txtTeacherName.Text;
            t.TeacherTel = txtTeacherPhone.Text;
            t.Memo = txtMemo.Text;
            return t;
        }
        //把对象的数据显示到界面
        public void showData()
        {
            txtTeacherID.Text = tea.TeacherNo;
            txtTeacherName.Text = tea.TeacherName;
            txtTeacherPhone.Text = tea.TeacherTel + "";
            txtMemo.Text = tea.Memo;
        }
        //修改教师信息
        public void UpdateTea(Teacher t)
        {
            try
            {
                DBHelper.con.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = DBHelper.con;
                cmd.CommandType = CommandType.Text;

                string sql = string.Format("update teacher set teacherId='{0}',teacherName='{1}'," +
                        " teacherTel={2},Memo='{3}'where teacherId='{4}'", t.TeacherNo, t.TeacherName, t.TeacherTel, t.Memo, tea.TeacherNo);
                    cmd.CommandText = sql;
                    cmd.ExecuteNonQuery();
               
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                DBHelper.con.Close();
            }
        }
        //界面初始化信息
        private void TeacherEditForm_Load(object sender, EventArgs e)
        {
            if (state == State.dsUpdate)
            {
                txtTeacherID.ReadOnly = true;
                showData();
            }
            else
            {
                autoCreateTeacherId();
            }
        }
        //提交信息
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (state == State.dsAdd)
            {
                if (validateTeacherIdIsNull())
                {
                    addTea(getInteface());
                }
                else {
                    return;
                }
            }
            else
            {
                if (validateTeacherIdIsNull())
                {
                    UpdateTea(getInteface());
                }
                else {
                    return;
                }
            }
            this.Close();
        }
        //关闭窗体
        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        //自动产生未使用的编号
        ArrayList arraytid = new ArrayList();
        public void autoCreateTeacherId() 
        {
            //数据库链接
            SqlCommand cmd = new SqlCommand();
            cmd.CommandType = CommandType.Text;
            cmd.Connection = DBHelper.con;
            string sql = "select teacherId from teacher";
            cmd.CommandText = sql;
            DBHelper.con.Open();
            SqlDataReader dr = cmd.ExecuteReader();
            while (dr.Read()) {
                arraytid.Add(dr[0]);
            }
            dr.Close();
            DBHelper.con.Close();
            //自动生成教师编号
            for (int i = 0; i < arraytid.Count; i++) {
                if (i == arraytid.Count - 1) {
                    string temp = arraytid[i].ToString();
                    int a=Convert.ToInt32(temp.Substring(1))+1;
                    if(a<10)
                        txtTeacherID.Text="T00"+a;
                    else if(a<100)
                        txtTeacherID.Text="T0"+a;
                    else
                        txtTeacherID.Text="T"+a;
                }
                else {
                    string temp =arraytid[i].ToString();
                    int a=Convert.ToInt32(temp.Substring(1))+1;
                    int b = Convert.ToInt32(arraytid[i+1].ToString().Substring(1));
                    if(a!=b){
                         if(a<10)
                            txtTeacherID.Text="T00"+a;
                        else if(a<100)
                            txtTeacherID.Text="T0"+a;
                        else
                            txtTeacherID.Text="T"+a;
                    }
                }
            }
        }
        //验证教师号和教师名不能为空
        public bool validateTeacherIdIsNull() {
            if (txtTeacherID.Text == "") {
                MessageBox.Show("教师号不能为空");
                return false;
            }
            else if (txtTeacherName.Text == "")
            {
                MessageBox.Show("教师名不能为空");
                return false;
            }
            else {
                return true;
            }
        }
        //设置电话只能为数字
        private void txtTeacherPhone_KeyPress(object sender, KeyPressEventArgs e)
        {
            char ch = e.KeyChar;
            
            if ((Keys)ch != Keys.Back)
            {
                if (ch < '0' || ch > '9')
                    e.Handled = true;
            }
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?