关于ASP.NET的三层理解
一、搭建三层架构步骤
1.新建项目
1.1 模 型 层:C# Framework 类库 名称:Models
1.2 数据访问层:C# Framework 类库 名称:DAL
1.3 业务逻辑层:C# Framework 类库 名称:BLL
1.4 表 现 层:C# web-空Web应用程序 名称:Asp项目名Web 例如:FreshLiveWeb
2.添加引用
表现层、BLL、DAL【分别会引用Model】
Web【BLL、Model】
BLL【DAL、Model】
DAL【Model】
二、功能代码添加步骤:
1.在Model层(模型层)根据表创建实体类
添加一个实体类: 类名为表名,属性参考表的字段完成
2.在DAL(数据访问层)创建表的DAL类
2.1添加DBHelper类(1个属性,2个方法)
2.2添加一个数据访问类:类名为 表名+DAL ,并导入命名空间:Models
在数据访问类中添加增删改查的方法
3.在BLL(业务逻辑层)创建表的BLL类
添加一个业务逻辑类:类名为表名+BLL ,导入命名空间:Models,DAL
在业务逻辑类中添加增删改查的方法(其中会调动数据访问层类对应的方法)
三、在表现层调用业务逻辑类的方法实现增删改查功能步骤:
1.新增一个WEB窗体,例如:GoodAdd.aspx, 添加对应控件
2.编写新增按钮事件:导入命名空间:Models,BLL
//根据输入生成要新增的实体商品对象
//调用GoodBLL的新增方法实现新增
备注:改查删同样也使用此思路完成
关于连接数据库DBHelper类
1.DBHelper在数据访问类(DAL)中编写,以下是代码。
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DAL
{
public class DBHelper
{
//连接SQL
private SqlConnection sqlCon;
private SqlCommand sqlCmd;
public string ConnString = "server=.; database=数据库名称;uid=sa;pwd=123456";
//打开SQL
private void OpenConnection()
{
if (sqlCon == null)
{
sqlCon = new SqlConnection(ConnString);
sqlCon.Open();
}
else
{
if (sqlCon.State == ConnectionState.Closed)
{
sqlCon.Open();
}
}
}
//关闭SQL
private void CloseConnection()
{
if (sqlCon != null && sqlCon.State == ConnectionState.Open)
{
sqlCon.Close();
}
}
//定义查询方法
public DataSet SelectData(string sql)
{
OpenConnection();
using (SqlDataAdapter adapter = new SqlDataAdapter(sql, sqlCon))
{
DataSet ds = new DataSet();
adapter.Fill(ds);
CloseConnection();
return ds;
}
}
//定义增删改查
public int ExecuteSql(string sql)
{
OpenConnection();
using (sqlCmd = new SqlCommand(sql, sqlCon))
{
int index = sqlCmd.ExecuteNonQuery();
CloseConnection();
return index;
}
}
}
}