Windows Form -----内容(3)

   

使用到的代码:

//链接类

 class DBconnection
    {
        public const string CONNECTIONSTRING = "server=.;database=mydb;uid=sa;pwd=5587725";
    }

//实体类

 class Nation
    {
        //构造函数
        public Nation(string code, string name)
        {
            _Name = name;
            _Code = code;
        }
        private string _Code;

        public string Code
        {
            get { return _Code; }
            set { _Code = value; }
        }
        private string _Name;

        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
        public override string ToString()
        {
            return Name;
        }
    }

 

 class Info
    {
        private string _Code;

        public string Code
        {
            get { return _Code; }
            set { _Code = value; }
        }
        private string _Name;

        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
        private bool _Sex;

        public bool Sex
        {
            get { return _Sex; }
            set { _Sex = value; }
        }
        private string _Nation;

        public string Nation
        {
            get { return _Nation; }
            set { _Nation = value; }
        }
        private DateTime _Birthday;

        public DateTime Birthday
        {
            get { return _Birthday; }
            set { _Birthday = value; }
        }
    }

//数据访问类

 class NationDA
    {
        private SqlConnection _Conn;
        private SqlCommand _Cmd;
        private SqlDataReader _DR;
        public NationDA()
        {
            _Conn = new SqlConnection(DBconnection.CONNECTIONSTRING);
            _Cmd = _Conn.CreateCommand();
        }
        public List<Nation> Select()
        {
            List<Nation> list = new List<Nation>();
            _Cmd.CommandText = "select * from Nation";
            try
            {
                _Conn.Open();
                _DR = _Cmd.ExecuteReader();
                while (_DR.Read())
                {
                    Nation data = new Nation(_DR["Code"].ToString(),_DR["Name"].ToString());
                   
                    list.Add(data);
                }
            }
            finally
            {
                _Conn.Close();
            }
            return list;
        }
        public Nation Select(string code)
        {
            _Cmd.CommandText = "select * from Nation where Code=@code";
            _Cmd.Parameters.Clear();
            _Cmd.Parameters.AddWithValue("@code",code);
            _DR = _Cmd.ExecuteReader();
            try
            {
                _Conn.Open();
                if (_DR.Read())
                {
                    Nation data = new Nation(_DR["Code"].ToString(), _DR["Name"].ToString());
                  
                    return data;
                }
                else
                {
                    return null;
                }
            }
            finally
            {
                _Conn.Close();
            }
          
        }
    }

 

 class InfoDA
    {
        private SqlConnection _Conn;
        private SqlCommand _Cmd;
        private SqlDataReader _DR;
        public InfoDA()
        {
            _Conn = new SqlConnection(DBconnection.CONNECTIONSTRING);
            _Cmd = _Conn.CreateCommand();
        }
        public void Insert(string code,string name,bool sex,string nation,DateTime birthday)
        {
            _Cmd.CommandText = "insert into info values(@code,@name,@sex,@nation,@birthday)";
            _Cmd.Parameters.Clear();
            _Cmd.Parameters.AddWithValue("@code",code);
            _Cmd.Parameters.AddWithValue("@name", name);
            _Cmd.Parameters.AddWithValue("@sex", sex);
            _Cmd.Parameters.AddWithValue("@nation", nation);
            _Cmd.Parameters.AddWithValue("@birthday", birthday);
            try
            {
                _Conn.Open();
                _Cmd.ExecuteNonQuery();
            }
            finally
            {
                _Conn.Close();
            }
           
        }
        public Info Select(string code)
        {
            _Cmd.CommandText = "select * from info where Code=@code";
            _Cmd.Parameters.Clear();
            _Cmd.Parameters.AddWithValue("@code",code);
            try
            {
                _Conn.Open();
                _DR = _Cmd.ExecuteReader();
                if (_DR.Read())
                {
                    Info data = new Info();
                    data.Code = _DR["Code"].ToString();
                    data.Name = _DR["Name"].ToString();
                    data.Nation = _DR["Nation"].ToString();
                    data.Sex = Convert.ToBoolean(_DR["Sex"]);
                    data.Birthday = Convert.ToDateTime(_DR["Birthday"]);
                    return data;
                }
                else
                {
                    return null;
                }
            }
            finally
            {
                _Conn.Close();
            }

        }

    }

//form类

 private void Form1_Load(object sender, EventArgs e)
        {
            //填充民族下拉列表
            //1.查处数据
            List<Nation> list = new NationDA().Select();
            //2.填进去
            list.Insert(0,new Nation("-1","==请选择=="));
            cbBoxNation.DataSource = list;
            cbBoxNation.DisplayMember = "Name";
            cbBoxNation.ValueMember = "Code";
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //向数据库添加人员信息
            //1.把界面上的值取出来
            string code = txtCode.Text;
            string name = txtName.Text;
            bool sex=rbnboy.Checked;//如果选的“男”,返回true;如果选“女”,返回 false,不用写if判断了
            string nation = (cbBoxNation.SelectedItem as Nation).Code;
            DateTime birthday = dtbirthday.Value;

            //2.送回数据库中
            InfoDA data = new InfoDA();
            data.Insert(code, name, sex, nation, birthday);
           
            //3.清空
            clearinput();
        }

        private void clearinput()
        {
            txtCode.Text = "";
            txtName.Text = "";
            rbnboy.Checked = true;
            cbBoxNation.SelectedIndex = 0;
            dtbirthday.Value = new DateTime(1880, 2, 2);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            clearinput();
        }

        private void txtCode_TextChanged(object sender, EventArgs e)
        {
            //1.把值读出来
            string checkcode = txtCode.Text;
            //2.到数据库去检查
            InfoDA da = new InfoDA();
            Info data = da.Select(checkcode);
            if (data!=null)
            {
                //3.提示
                lbtishi.Text = "此代号已存在";
                btnAdd.Enabled = false;
            }
            else
            {
                lbtishi.Text = "";
                btnAdd.Enabled = true;
            }
            
        }

posted @ 2015-05-13 18:29  指尖的人生  阅读(186)  评论(0编辑  收藏  举报