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