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

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

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

    1、UI层

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

                         

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

                     

       确认修改的代码如下

 

[csharp] view plaincopy技术分享技术分享
  1. private void button2_Click(object sender, EventArgs e)  
  2. {  
  3.     Login.Model.UserInfo user = new Login.Model.UserInfo();  //用于传输的对象  
  4.     //获取要保存的信息  
  5.     user.UserName = txtUserName.Text.Trim();  
  6.     user.Password = txtPassword.Text;  
  7.     user.Email = txtEmail.Text;  
  8.   
  9.     //将要保存的对象传由B层处理  
  10.     UserModify.BLL2.ModifyBLL modifyUserB = new UserModify.BLL2.ModifyBLL();  
  11.     modifyUserB.Modify(user);  
  12.   
  13.     MessageBox.Show("修改信息成功!");  
  14. }  

    2、BLL层

 

[csharp] view plaincopy技术分享技术分享
  1. public class ModifyBLL  
  2. {  
  3.     public void Modify(Login .Model .UserInfo user)  
  4.     {  
  5.         //实例化D层  
  6.         UserModify.DAL2.ModifyDAL modifyUserD = new UserModify.DAL2.ModifyDAL();  
  7.         //将要保存的数据传由D层保存  
  8.         modifyUserD.Modify(user);  
  9.     }  
  10. }  

    3、DAL

 

[csharp] view plaincopy技术分享技术分享
  1. public class ModifyDAL  
  2. {  
  3.     public void Modify(Login.Model.UserInfo user)  
  4.     {  
  5.         using (SqlConnection conn=new SqlConnection(DBUtil.ConnString))  
  6.         {  
  7.             //实例化命令对象  
  8.             SqlCommand cmd = conn.CreateCommand();  
  9.   
  10.             //命令语句  
  11.             cmd.CommandText = @"update USERS SET Password=@password,Email=@email WHERE UserName=@userName";  
  12.             cmd.CommandType = CommandType.Text;  
  13.   
  14.             //传参  
  15.             cmd.Parameters.Add(new SqlParameter("@password", user.Password));  
  16.             cmd.Parameters.Add(new SqlParameter("@email", user.Email));  
  17.             cmd.Parameters.Add(new SqlParameter("@userName", user.UserName));  
  18.   
  19.             //打开数据库连接  
  20.             conn.Open();  
  21.             //修改数据  
  22.             cmd.ExecuteNonQuery();  
  23.         }  
  24.     }  
  25. }  

    4、结果

                               

    5、总结

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

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

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

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