首页 > 代码库 > 三层架构与四大天王之——改
三层架构与四大天王之——改
今天让我们一起来认识一下“四大天王"中的最后一个——修改数据库中的信息。为什么要把修改放在查询之后呢?这是因为要想修改首先就得将信息查出来,所以查询是修改的前提。
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、总结
至此,我们已经将“四大天王”介绍完毕。他们对数据库各有各的作用,也有先后顺序,先让我们看看兄弟几个的排名。
首先,老大应该是增,只有先进行添加数据,才能有其他操作,如果没有老大,那么其他几个只能是绣花枕头一草包,中看不中用,所以老大是重中之重;其次老二应该是查,有了老大添加的数据,就可以有老二来查询我们想要的数据,老二使我们的生活变的方便快捷;当然,如果数据出错了,需要修改,就该老三出场了,老三跟老二的关系很好,因为老三需要老二帮他查出要修改的数据,才能发挥它的才能,这就要兄弟同心,其利断金;排在最后的是老四-删,老四可以随意的删除老大添加的数据,从这就可看出老四的才能不小,可是他却被兄弟几个安排到了最后,心里自然是不服气,更何况它除了能与老大抗衡之外,还偷偷将二哥的杀手锏学会了,而且在其基础上加以改进,能够查出所有的记录,这让他更加的嚣张,但是由于大哥的威信还是不容小视,所以他只能强占了二哥的位置,由于老二确实是技不如人,也只能忍气吞声。因此四兄弟被后人称为“增、删、改、查”。从此以后,四兄弟齐心协力,共同为我们谋福。
本系列文章,为大家介绍了“增、删、改、查”四兄弟各自的功能,从而加深我们对三层架构的理解,从中我们也发现一些问题,比如:四兄弟有很多相似的地方,这样重复的东西会增加我们的负担,所以预知后事如何,请看下回分解。