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