温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SQLHelper和三层实现Age自增的区别是什么

发布时间:2022-03-31 10:00:26 来源:亿速云 阅读:156 作者:iii 栏目:开发技术

这篇文章主要介绍“SQLHelper和三层实现Age自增的区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SQLHelper和三层实现Age自增的区别是什么”文章能帮助大家解决问题。

三层

三层只是一个比较好的软件架构,不是非用三层不可。

  • 界面层UI;

  • 数据访问层DAL(Data Access Layer);

  • 业务逻辑层BLL(business logic layer )。实体类就是Model;对数据进行操作的代码写在DAL中,一般就是SQL语句,DAL只有对数据的操作,没有“如果金额大于20则不能删除”这样的逻辑;BLL调用DAL中的代码进行逻辑操作,比如“如果金额大于20则不能删除”。SQL语句、ADO.Net的类一般只应该出现在DAL中。

先对比用SQLHelper和三层实现Age自增的区别。

我们先做个SQLHelper自增

SQLHelper和三层实现Age自增的区别是什么

一、设计好winform窗体

下面我们直接添加配置文件和SqlHelper

SQLHelper和三层实现Age自增的区别是什么

二、添加配置文件和SqlHelper

SQLHelper和三层实现Age自增的区别是什么

三、添加引用

SQLHelper和三层实现Age自增的区别是什么

四、添加配置文件

这样的话配置文件和SqlHelper就都有了。

首先想一下,要写之前还是要确定一下Sql语句。

SQLHelper和三层实现Age自增的区别是什么

五、确定Sql语句

SQLHelper和三层实现Age自增的区别是什么

六、VS代码

SQLHelper和三层实现Age自增的区别是什么

七、SqlHelper执行结果

接下来我们用三层实现年龄自动增长:

SQLHelper和三层实现Age自增的区别是什么

八、写好winform窗体

按照上一题的方法添加配置文件和SplHelper并添加引用。

用三层写必须分的清清楚楚的。

刚写好的winform窗体就可以理解成界面层UI。当然,也可以用ASP.NET的web页面来表现,或者手机页面。

还需要一个数据访问层DAL,我们需要建个文件夹。

SQLHelper和三层实现Age自增的区别是什么

九、添加DAL文件夹

再建一个BLL凡是跟数据逻辑上有关系的都建在这里面。业务逻辑层BLL

SQLHelper和三层实现Age自增的区别是什么

十、业务逻辑层BLL

验证数据是否存在就属于业务逻辑。

SqlHelper跟数据库打交道所以要把SqlHelper放到数据访问层DAL里面。

SQLHelper和三层实现Age自增的区别是什么

十一、SqlHelper放到数据访问层DAL里

接下来我要操作的是TblStudent这张表,我可能对这张表进行增删查改各种操作。所以,我建个类,就是对TblStudent表进行的操作。它是对数据访问层DAL,我们在TblStudent后面加个Dal。

SQLHelper和三层实现Age自增的区别是什么

十二、TblStudentDal类

SQLHelper和三层实现Age自增的区别是什么

十三、数据访问层的代码

再创建个类是业务逻辑层。

SQLHelper和三层实现Age自增的区别是什么

十四、业务逻辑层代码

SQLHelper和三层实现Age自增的区别是什么

十五、界面层调业务逻辑层,业务逻辑层调数据访问层

千万不能界面层直接调数据访问层,否则的话会造成很多的麻烦的。三层的目的就是分工明确,互不影响。

***,我们看下执行的效果。

SQLHelper和三层实现Age自增的区别是什么

十六、执行后的效果

先记住:配置文件是和界面层UI在一起的。等会我写案例,给大家演示一下。

下面我们用三层校验用户名和密码。

SQLHelper和三层实现Age自增的区别是什么

十七、设计好登录界面

然后我们要确定Sql语句,怎么样判断用户名是否存在,密码是否正确呢?

根据用户输入的用户名,找到密码

如果找到密码,说明用户名存在;如果密码不存在说明用户名不存在。

如果找到密码,验证一下是否正确,就可以判断是否登陆成功了。

select     CC_AutoId,     CC_Loginpassword from T_Seats where CC_LoginId=@uid

2.写数据访问层

想一下执行完Sql语句返回的结果是什么呢?

怎么把一条记录的多个列进行返回。

数据访问层,返回一个对象。(需要用到Model)

SQLHelper和三层实现Age自增的区别是什么

十八、写好Model

SQLHelper和三层实现Age自增的区别是什么

十九、写好数据访问层

数据访问层,根据用户名获取当前用户的基本信息。

3.写业务逻辑层。在年龄自动增长中的业务逻辑层就是个打酱油的。

这块的业务逻辑层就得有东西了。

如何确定业务逻辑层的方法参数与返回值,根据表现层(调用者)的需求来确定。

SQLHelper和三层实现Age自增的区别是什么

二十、写个枚举

SQLHelper和三层实现Age自增的区别是什么

二十一、写好MD5

SQLHelper和三层实现Age自增的区别是什么

二十二、写好业务逻辑层

***我们写界面层

SQLHelper和三层实现Age自增的区别是什么

二十三、写好界面层

好,看下***的执行结果。

SQLHelper和三层实现Age自增的区别是什么

二十四、***显示效果

接下来我们实现修改密码的功能:

修改密码和我们ADO写过的需求一模一样。修改密码的按钮一开始是被禁用的。当成功之后,把登录的id记下来,修改密码按钮可用。当点它的时候再弹出一个窗口来,这个窗口是用来修改密码的。

SQLHelper和三层实现Age自增的区别是什么

二十五、写好***个窗体

SQLHelper和三层实现Age自增的区别是什么

二十六、写好第二个窗体

想想怎么实现这个功能?

登录成功以后启动修改密码按钮,记住用户的id,得写个静态类。那么这个类写入哪一层呢?接下来就该确定下Sql语句,首先验证下输入新密码是否正确(与Sql无关),验证旧密码时与Sql有关。

在做这个功能之前我们再看下三层的具体写法。

  • UI → 表现层,数据的采集,与数据的展示。

  • Bll → 业务逻辑层,与业务相关的所有逻辑判断与处理。

  • Dal → 数据访问层,只是操作数据库的操作,把sql语句执行,返回相应的结果。(一般不建议做任何逻辑处理。)

Model

像上题中判断文本框是否为空,不能输入特殊的符号等要放在业务逻辑层。判断的是取出的数据是不是为空,不是文本框本身不是为空。

写在界面层也行,但是我现在要把wins窗体换成web页面,界面层中的判断还得再写一遍。要是写在业务逻辑层的话,就只写界面层的代码就行了。

像注册邮箱的判断都是JS的功劳,不是业务逻辑层的问题。

SQLHelper和三层实现Age自增的区别是什么

二十七、JS判断

SQLHelper和三层实现Age自增的区别是什么

二十八、界面层逻辑

静态类在表现层

SQLHelper和三层实现Age自增的区别是什么

二十九、把Id从业务逻辑层传出来

SQLHelper和三层实现Age自增的区别是什么

三十、界面层代码

运行看下现在的效果。这样做的好处是,不要等都写完再调试。谁都不是神,这样分步写,容易找出自己写的代码的错误。

SQLHelper和三层实现Age自增的区别是什么

三十一、显示***部分成果

修改密码操作首先是要确定Sql语句执行过程,思路:两次输入的新密码是否一致,旧密码是否正确,然后修改密码。判断一致不需要Sql语句,判断旧密码是否正确需要我们写Sql语句。修改密码也要写Sql语句。

1.确定旧密码是否正确的Sql语句

autoId,oldpwd   "select count(*) from T_Seats where cc_autoId=@autoid and cc_loginPassword=@pwd"

下面我们写数据访问层,由于还是操作那张表,不需要新建一个类。

SQLHelper和三层实现Age自增的区别是什么

三十二、数据访问层代码

修改密码的操作也是一条Sql语句,

SQLHelper和三层实现Age自增的区别是什么

三十三、数据访问层-修改密码代码

好了数据访问层中的代码写完了,现在我们开始写业务逻辑层中的代码。

SQLHelper和三层实现Age自增的区别是什么

三十四、业务逻辑层用到的枚举

SQLHelper和三层实现Age自增的区别是什么

三十五、业务逻辑层中的代码

SQLHelper和三层实现Age自增的区别是什么

三十六、三层架构图

SQLHelper和三层实现Age自增的区别是什么

关于“SQLHelper和三层实现Age自增的区别是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI