我们知道在UI,BLL,DAL之间有数据的交互,所以我们传递的数据需要有一个类型,因为我们操作的是ManagerInfo表,所以咱们可以在Model这里建一个类名为ManagerInfo的类,在这里定义的属性需要和ManagerInfo表中的字段一一对应。我们知道DAL是处理和数据库相关的操作,出了这个层就不在有和数据库相关的代码,所以我们需要封装一个SqlHelper类,用于数据库的操作。可以封装成一个静态类,作为工具类使用。同时,我们现在处理的是ManagerInfo这个表,以后也会操作其他的表,遵循单一原则,所以需要在DAL中建一个专门处理ManagerInfo表的类ManagerInfoDal,相应的在BLL中需要一个处理ManagerInfo表业务逻辑的类ManagerInfoBll。到这里所有的准备工作已经完成。(注意:我们使用的数据库是SQLite,所以在数据库操作那部分用的都是SQLite自带的 类和对象)

1.查询操作:

从最底层DAL开始写起(SQLiteHelper):

三层架构的查询操作 三层架构增删改查_三层架构的查询操作

 查询数据

 接着是ManagerInfoDal类中查询代码

三层架构的查询操作 三层架构增删改查_三层架构的查询操作

 查询数据

ManagerInfoBll中查询数据库的代码:

三层架构的查询操作 三层架构增删改查_三层架构的查询操作

 查询数据BLL

在前端调用的时候 只需要创建ManagerInfoBll对象,调用其查询数据方法即可。

//创建ManagerInfoBll对象,以后的调用都是通过这个对象进行的

ManagerInfoBll manager = new ManagerInfoBll();

//取得了查询的数据

List<ManagerInfo> list = manager.GetList();

//咱们可以对这个数据集进行使用了。

2.添加操作:

UI层向BLL发送请求,即向数据库添加数据,那么需要向BLL传递需要添加数据的数据模型

UI层代码:

//创建 一个ManagerInfo对象

ManagerInfo mi = new ManagerInfo();

mi.MName = txtName.Text.ToString();
mi.MPwd = txtPwd.Text.ToString();
mi.MType = rb1.Checked ? 1 : 0;

//将mi作为数据模型传给BLL

manager.Add(mi)

BLL层代码:

三层架构的查询操作 三层架构增删改查_三层架构的查询操作

 添加数据BLL

DAL层:首先会通过ManagerInfoDal层的代码,来调用SqlHelper中对数据库进行添加的代码

ManagerInfoDal类:

三层架构的查询操作 三层架构增删改查_三层架构的查询操作

 添加数据ManagerInfoDal

在这里使用了SqlParameter 这个参数类,可以避免SQL注入

SQLiteHelper类:

 

三层架构的查询操作 三层架构增删改查_三层架构的查询操作

 添加数据 SQLiteHelper

 

3.删除操作:

一般删除操作只需要根据主键进行删除,那么UI层向BLL层传递数据时,只需要传递ID即可。

UI层:

manager.Remove(Mid)

BLL层:

三层架构的查询操作 三层架构增删改查_三层架构的查询操作

 删除数据 BLL

DAL层:

三层架构的查询操作 三层架构增删改查_三层架构的查询操作

 根据id 删除数据 DAL

SQLiteHelper类中ExecuteNonQuery()方法 可以共用删除,添加,更新操作。

4.更新操作:

BLL层:

三层架构的查询操作 三层架构增删改查_三层架构的查询操作

 更新操作 BLL

DAL层:

三层架构的查询操作 三层架构增删改查_三层架构的查询操作

 修改数据 DAL