目录
一、三层架构
二、数据库连接
一:
C#三层架构详解
三层架构:
表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)再加上实体类库( Model)
表现层(UI):一般都是窗体的设计或者网页的设计,是可以一眼就可以看到的界面。
业务逻辑层(BLL)︰对传送数据进行逻辑判断分折,并进行传送正确的值。
数据访问层(DAL)∶主要是存放对数据类的访问,即对数据库的添加、删除、修改、更新等基本操作。
实体类库(Model):主要存放数据库中的表字段。
实操:
1新建项目吧,设计一个超级简单的窗体
2.添加类库:BLL,DAL,Model
右键项目解决方案-添加-新建项目-类库
3.我们先建一个数据库,不用太多字段,一个id,一个账号名,一个密码就行啦!
数据库名:threelayer
表名:Tb_User
字段:id username userpwd
4.重点来了,重点来了,重点来了。重要的事情说三遍。前面我们说了,Model层是干什么的?主要存放数据库中的表字段,那么问题来了,该怎么存放呢?
在这个Model类库下面新建一个类文件名为userInfo.cs
private string _username;
private string _psw;
public string username
{
set { _username = value; }
get { return _username; }
}
public string psw
{
set { _psw = value; }
get { return _psw; }
}
5.接下来是DAL层:主要是存放对数据类的访问,即对数据库的添加、删除、修改、更新等基本操作。我们先添加Books.DAL引用,使类可以读取配置文件节点,读取配置文件中连接数据库语句;右键引用-添加引用-选择程序集-勾选-确定
6.添加 Readerdal类(右键DAL项目-添加-新建项-命名好-确定) 用执行查询语句查找数据库中存在记录条数
完整代码
public class ReaderDal
{
public DataTable SelectReadeList()
{
SqlConnection conn = new SqlConnection("server=.;database=hism;pwd=123456;uid=sa;");
//准备sql语句
string sql = "select * from TBL_Category";
//创建查询对象
SqlDataAdapter sda=new SqlDataAdapter(sql, conn);
//创建容器
DataTable dt = new DataTable();
//填充内容
sda.Fill(dt);
return dt;
}
}
7. BLL层:对传送数据进行逻辑判断分折,并进行传送正确的值。
在BLL层中添加用户输入数据与数据库匹配的逻辑代码
实例化Readerbll类,并新建一个方法调用readerdal方法,参数为Model实体类中的useInfo类
8.接下来是窗体代码
同时我们还需要将Model添加到窗体的引用里
结果如下:
最后总结:
运用三层架知构可以让代码的可读性和功能的扩展性有着很好的提高
个人认为,一般我们说的三层甚至多层架构,是根据一定的分层原则,把一个应用分层处理,每层完成各自的工作,相互之间相对独立。
比如:有一个应用,我们分为界面层道,逻辑内层,数据层,那么这三层分管不同的处理,界面层主要完成与用户的交互;逻辑层完成商业逻辑运算;数据层完成数据存储等。
这样做的好处是方便维护。例如:我们把界面层提供给用户使用,逻辑运算放到远程服务器上,当我们需要调整运算逻辑的时候,只需要调整逻辑层就可以了,在用户那边根本感觉不到改动,也省去了重新部署的麻烦容。
二、接下来是数据库连接操作:
我们需要在窗体中找到App.config
然后点击进入,开始进行连接数据库代码操作,如图:
然后就可以连接到我们的数据库了
如需更换其他数据库,只需要在server、database、pwd以及uid更改所需的数据库的名字等就可以更换,然后连接。