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

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

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 [email protected],[email protected] WHERE [email protected]";
                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、总结

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

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

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

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

时间: 2024-08-05 09:26:01

三层架构与四大天王之——改的相关文章

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

1.上集回顾   上篇文章我们介绍了三层架构的运行机制,其中包含了对实体类的理解,而后又以简单的登录为例展示了一下,接下来就让我们看看三层架构与"四大天王"的交互. 所谓的四大天王也就是对数据的四大操作--增.删.改.查,这四个功能是最基本,也是最主要的.那么,下面我们就来展示一下如何利用三层向数据库中增加数据.    2.增        (1)UI层         首先是由用户向U层输入要添加的数据                                   以下是确认添

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

上次我们说到了,如何利用三层架构去数据库中删除数据,这次我们就来谈谈如何去数据库中查找数据,其实在上篇文章中也涉及到了查找,但那是将整个表中的记录都显示出来,而我们这次来查找我们所需要的某一条记录. 1.UI层 首先是界面,还记得我们第一次添加的"王菲"的那条记录吗,今天我们就将它查出来 private void button1_Click(object sender, EventArgs e) { //实例化一个模型对象,用来向D层传递信息 Login.Model.UserInfo

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

上篇我们介绍了,数据库四大功能之一--增,这次我们就说说如何利用三层设计来对数据实现删除记录的功能. 1.刷新       要想删除数据库中的记录,首先我们应该将表中的数据显示出来,所以此功能的实现方法如下       1.1UI层                  其代码 //刷新按钮,刷新Users表的信息 private void button1_Click(object sender, EventArgs e) { //实例化一个用户集,用来接收传回来的信息 ArrayList User

三层架构与四大天王之前传

上篇文章我们介绍了一下三层架构的基础知识,这次就让我们来探寻一下他的运行机制吧. 1.实体层 (1)是什么     实体类--实体类其实是存放数据的,我们在数据库读取的数据就是存放在实体层里面的(是辅助数据库的映射,可以理解为传递数据的载体).实体类主要是作为数据管理和业务逻辑处理层面上存在的类别: 它们主要在分析阶段区分实体类的主要职责是存储和管理系统内部的信息,它也可以有行为,甚至很复杂的行为,但这些行为必须与它所代表的实体对象密切相关.实体类对应数据库中一个表,实体类的每个属性对应表中相应

三层架构,四大天王——删

第一部分我们介绍,间数据库的四个功能--增加.这一次,我们将讨论除记录的功能. 1.刷新       要想删除数据库中的记录,首先我们应该将表中的数据显示出来,所以此功能的实现方法例如以下       1.1UI层                  其代码 //刷新button,刷新Users表的信息 private void button1_Click(object sender, EventArgs e) { //实例化一个用户集.用来接收传回来的信息 ArrayList UsersList

三层架构1

一.三层框架 表现层:也叫视图层,用html.css.js.jquery 业务逻辑层:也叫控制层,包含业务逻辑的实现部分 数据管理层:与数据库直接交互的部分 二.组建三层框架(现有实例) 1.数据管理层 A.引入Model类 创建项目之后在项目的同级目录上建立Model的目录,相应的在保存项目的硬盘上也建立Model的目录.然后把Model.Base复制到硬盘上也建立的Model目录下,并在项目的Model下引入硬盘Model.Base线面现有的Model.Base.csproj模块. B.在项

用java观察者模式解耦经典三层架构

三层架构是一个很经典的架构模式,依据系统的职责不同.将系统分成了表现层,逻辑层和数据訪问层,而且配合数据实体进行传输数据,能够大大的封装性和复用性. 经典的三层架构图: 我们再深入到架构图内部.看看详细的类图,用简单的登陆举例吧: 这里通过LoginUI.调用了LoginLogService和LoginVerificationService两个类.通过类图能够看得出,U层和Service层(本文把BLL层称为了Service层)直接採用了直接调用的方式. 在面向对象的设计中.一直强调要面向接口编

排球计分规则之三层架构

需求: 作为一名现场记分员,我希望详细记录比赛现场比分增长情况,以便观众及运动员.教练员及时掌握比赛状况.(满意条件:每一次比分的改变,都要形成一条记录). 计划: 估计此次工作需要一周的时间. 需求分析: 根据用户需求可知我们此次程序需要做到每次分数变化的时候都要记录.当记分员操作之后就要形成记录. 设计文档: 根据<2015-2016赛季中国排球联赛竞赛规程>,计分规则如下: 1.目前的排球比赛采用五局三胜制.前四局每局25分,每局比赛完成后交换场地,达到24分时,必须比赛的双方相差2分才

2016-11-09(搭建框架、三层架构)

三层架构: 注意:model.ruanmou 里面的每一个类在数据库里面就是对应一个表,类里面的每一个字段,对应的就是表里面的每一个字段 在MVC环境搭建: 建议新建项目时选择空白页面,后续的JS,JQ等再另行添加新版本. (1)先将原来的代码清空,再复制以下代码,修改Web.config的连接符,将数据库信息正确填写. <connectionStrings> <add name="con" connectionString="Database=Tjfx;S