转载请注明出自朱朱家园http://blog.csdn.net/zhgl7688

三层架构分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)再加上实体类库(Model)

1、实体类库(Model),主要存放数据库中的表字段。

操作:

(1)先建立实体类库Model,打开项目,在解决方案中右键--》添加--》新建项目--》选中类库--》改名Model--》确定

(2)选中Model类库--》Shift+ALT+C--》建立实体类。UserInfo类

namespaceModel

{public classUserInfo

{public string UserName { get; set; }public string Password { get; set; }

}

}

2、数据访问层(DAL),主要是存放对数据类的访问,即对数据库的添加、删除、修改、更新等基本操作

操作:

(1)先建立数据访问层类库DAL,打开项目,在解决方案中右键--》添加--》新建项目--》选中类库--》改名DAL--》确定

(2)在DAL中添加对Model的引用,选中DAL--》Alt+P+R--》解决方案--》项目--》选中MOdel--》确定

(3)在DAL中添加对system.configuration的引用,选中DAL--》Alt+P+R--》程序集--》框架--》选中System.configuration--》确定

(4)建立数据访问类,选中DAL--》Shift+ALT+C--》建立数据访问类。UserDB类

usingSystem.Configuration;usingModel;usingSystem.Data;usingSystem.Data.SqlClient;namespaceDAL

{classUserDB

{private string connString =ConfigurationManager.ConnectionStrings[connString].ToString();public intAddUser(UserInfo userInfo)

{//对数据库进添加一个用户操作

string commandText =insert into UserInfo (userName,Password)values(@userName,@Password);

SqlParameter[] paras= newSqlParameter[]

{newSqlParameter (@userName,userInfo.UserName ),newSqlParameter (@Password,userInfo.Password )

};returnSqlHelper.ExecuteNonQuery(connString, CommandType.Text, commandText, paras);

}

}//添加其他对数据库操作

}

3、业务逻辑层(BLL)对传送数据进行逻辑判断分折,并进行传送正确的值。

(1)先建立业务逻辑层类库BLL,打开项目,在解决方案中右键--》添加--》新建项目--》选中类库--》改名BLL--》确定

(2)在BLL中添加对Model、DAL的引用,选中BLL--》Alt+P+R--》解决方案--》项目--》选中MOdel、DAL--》确定

(3)建立业务逻辑类,选中BLL--》Shift+ALT+C--》建立业务逻辑类。LoginManager类

usingDAL;usingModel;namespaceBLL

{public classLoginManager

{private UserDB userDB = newUserDB();public bool Add(UserInfo userInfo, out stringmessageStr)

{

messageStr= ;//返回界面层添加用户返回信息

bool isSuccess = false;if (userInfo.UserName.Trim().Length != 0)//判断从传递来的username是否为空

{if (userDB.IsEquals(userInfo))//传给DALl操作判断数据库中是否有重复值

{

userDB.AddUser(userInfo);//传给DAL操作增加一个新用户

isSuccess = true;

}elsemessageStr=有相同的值;

}else{

messageStr=不能为空;

}return isSuccess;//返回界面层是否添加成功

}

}

}

5、表现层(UI)即用户界面层

(1)在UI中添加对Model、BLL的引用,选中UI--》Alt+P+R--》解决方案--》项目--》选中MOdel、BLL--》确定

(2)编写代码传递数据给BLL层。

UserInfo userInfo;

LoginManager lm= newLoginManager();private void btnAdd_Click(objectsender, EventArgs e)

{

userInfo= newUserInfo()

{

UserName=txtUserName.Text.Trim(),

Password=txtPassword.Text.Trim()

};string messageStr =;if (lm.Add(userInfo, outmessageStr))

{

MessageBox.Show(添加成功);

}else{

MessageBox.Show(messageStr);

txtUserName.Focus();

}

}

}

java中servlet dal bll model_C#中三层架构UI、BLL、DAL、Model实际操作(转)相关推荐

  1. java bll dal_C#中三层架构UI、BLL、DAL、Model实际操作

    三层架构分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL)再加上实体类库(Model) 转载请注明出自朱朱家园https://blog.csdn.net/zhgl7688 1.实体类库( ...

  2. C#中三层架构UI、BLL、DAL、Model实际操作

    三层架构主要分为BLL DAL MODEL 业务逻辑层(BLL):对传送数据进行逻辑判断分折,并进行传送正确的值. 数据访问层(DAL):主要是存放对数据类的访问,即对数据库的添加.删除.修改.更新等 ...

  3. 步步为营 .NET三层架构解析 四、Model设计(四种设计方式)

    说到Model设计,我们先谈谈它的作用: Model又叫实体类,model层里面的一个类对应数据库里面的一张表, 类里面的每一个属性对应表里面的一个字段,每个属性都有自己的 GET 和 SET 方法, ...

  4. 使用三层架构实现简单的MVC登陆操作!并实现基本的增删改查功能!!

    一丶使用三层架构创建一个简单的MVC登录操作 1.首先,创建一个项目以及BLL层.DAL层.Entity层,如图一: 图一 2.创建一个数据库如图二: 图二 3基本工作已做好,接下来就编BLL层.DA ...

  5. dofilter在java中_关于java:Servlet的doFilter方法中的StringBuffer或StringBuilder?

    本问题已经有最佳答案,请猛点这里访问. 我正在实现我的自定义筛选器: public class MyFilter implements javax.servlet.Filter 我应该在这个doFil ...

  6. Java web学习——Spring MVC项目实例,三层架构通过JDBC链接SQLServer2012

    Spring MVC架构原理?原理篇 1.新建项目 File-New-Other,选择Dynamic web project 项目建好后的目录结构如下: 2.导入jar包 导入spring mvc框架 ...

  7. ASP.NET三层架构UI层

    UI层又称表现层UI,位于三层构架的最上层,与用户直接接触,主要是B/S信息系统中的Wed浏览页面.作为Wed浏览页面,表示层的主要功能是实现系统数据的传入与输出,在此过程中不需要借助逻辑判断操作就可 ...

  8. ASP.NET三层架构UI层(四)

    10.新页面(或需要显示原数据)更新功能的实现 (1) 创建新页面.布局(居中),配置可选择控件的数据项 (2)在原 页面添加按钮,跳转至新页面并传递修改对象的主键ID <asp:LinkBut ...

  9. 三层架构-UI层 显示数据

    创建UI层使用类库 创建.aspx界面 显示控件 DropDownList控件(下拉框): 使用选择数据源为DropDownList控件绑定数据 删除 DataSource模块 和DataSource ...

最新文章

  1. python学到什么程度可以写爬虫-小白python学到什么程度可以学习网络爬虫? ?...
  2. CentOS 6.9下OpenLDAP 的安装与配置
  3. linux内核中用来对共享资源进行隔离,简单理解Docker
  4. ar软件测试工具_如何为用户测试制作快速的AR原型
  5. php时分获取秒数,javascript与php时/分/秒与秒数互转
  6. 数据库事务ACID详解(转载)
  7. Docker配置Dockerfile中关键ENTRYPOINT和CMD命令详解
  8. 惠普应用监控解决方案
  9. layui怎样将响应数据展示在页面_layui-table对返回的数据进行转变显示的实例
  10. SpringAMQP+RabbitMQ调试中的问题解决
  11. loadrunner基础学习笔记二
  12. linux的基本的命令行操作
  13. pandas--groupby相关操作
  14. android 截图root权限,为什么 Android 截屏需要 root 权限
  15. 智能运动手环设计构思
  16. 机器学习——葡萄酒分类问题(输入与输出维度相同)
  17. 现控计控中基于留数法Z变换与Z反变换的MATLAB实现
  18. 程序员值得收藏的10大网站 | 推荐指数 | 满天星★★★★★
  19. MacPro系统重装操作步骤(U盘重装)
  20. 配置nginx + keepalived双主模式(双机互为主备)

热门文章

  1. golang汉字转拼音字头和五笔码
  2. Python 求100以内的质数
  3. CRM、ERP、SCM的区别
  4. dp和sp的区别 以及字体
  5. 各端口抓肉鸡的几种方法
  6. c 语言如何隐藏光标,如何隐藏C#中textBox控件的光标
  7. c语言运行后电脑很卡,如何让电脑提速,电脑卡是什么原因?
  8. 将火狐浏览器鼠标滚轮滚动速度调到接近edge浏览器的效果
  9. UEditor .Net版本任意文件上传漏洞复现总结
  10. /opt/hbase/conf 中不能启动hbase_德州中天盛围挡喷淋厂房车间喷淋造雾机