首页 > 代码库 > 三层架构与四大天王之——改

三层架构与四大天王之——改

        今天让我们一起来认识一下“四大天王"中的最后一个——修改数据库中的信息。为什么要把修改放在查询之后呢?这是因为要想修改首先就得将信息查出来,所以查询是修改的前提。

    1、UI层

         首先查询要修改的记录,如“王菲”(代码见上篇文章)

                          

        然后将密码“123456”改为“5201314”

                      

       确认修改的代码如下

        private void button2_Click(object sender, EventArgs e)
        {
            Login.Model.UserInfo user = new Login.Model.UserInfo();  //用于传输的对象
            //获取要保存的信息
            user.UserName = txtUserName.Text.Trim();
            user.Password = txtPassword.Text;
            user.Email = txtEmail.Text;

            //将要保存的对象传由B层处理
            UserModify.BLL2.ModifyBLL modifyUserB = new UserModify.BLL2.ModifyBLL();
            modifyUserB.Modify(user);

            MessageBox.Show("修改信息成功!");
        }

    2、BLL层

    public class ModifyBLL
    {
        public void Modify(Login .Model .UserInfo user)
        {
            //实例化D层
            UserModify.DAL2.ModifyDAL modifyUserD = new UserModify.DAL2.ModifyDAL();
            //将要保存的数据传由D层保存
            modifyUserD.Modify(user);
        }
    }

    3、DAL

    public class ModifyDAL
    {
        public void Modify(Login.Model.UserInfo user)
        {
            using (SqlConnection conn=new SqlConnection(DBUtil.ConnString))
            {
                //实例化命令对象
                SqlCommand cmd = conn.CreateCommand();

                //命令语句
                cmd.CommandText = @"update USERS SET Password=@password,Email=@email WHERE UserName=@userName";
                cmd.CommandType = CommandType.Text;

                //传参
                cmd.Parameters.Add(new SqlParameter("@password", user.Password));
                cmd.Parameters.Add(new SqlParameter("@email", user.Email));
                cmd.Parameters.Add(new SqlParameter("@userName", user.UserName));

                //打开数据库连接
                conn.Open();
                //修改数据
                cmd.ExecuteNonQuery();
            }
        }
    }

    4、结果

                                

    5、总结

        至此,我们已经将“四大天王”介绍完毕。他们对数据库各有各的作用,也有先后顺序,先让我们看看兄弟几个的排名。

        首先,老大应该是增,只有先进行添加数据,才能有其他操作,如果没有老大,那么其他几个只能是绣花枕头一草包,中看不中用,所以老大是重中之重;其次老二应该是查,有了老大添加的数据,就可以有老二来查询我们想要的数据,老二使我们的生活变的方便快捷;当然,如果数据出错了,需要修改,就该老三出场了,老三跟老二的关系很好,因为老三需要老二帮他查出要修改的数据,才能发挥它的才能,这就要兄弟同心,其利断金;排在最后的是老四-删,老四可以随意的删除老大添加的数据,从这就可看出老四的才能不小,可是他却被兄弟几个安排到了最后,心里自然是不服气,更何况它除了能与老大抗衡之外,还偷偷将二哥的杀手锏学会了,而且在其基础上加以改进,能够查出所有的记录,这让他更加的嚣张,但是由于大哥的威信还是不容小视,所以他只能强占了二哥的位置,由于老二确实是技不如人,也只能忍气吞声。因此四兄弟被后人称为“增、删、改、查”。从此以后,四兄弟齐心协力,共同为我们谋福。

        本系列文章,为大家介绍了“增、删、改、查”四兄弟各自的功能,从而加深我们对三层架构的理解,从中我们也发现一些问题,比如:四兄弟有很多相似的地方,这样重复的东西会增加我们的负担,所以预知后事如何,请看下回分解。