在上一篇中已经搭建好了一个三层架构的框架,现在使用三层架构来对数据库进行增删改查操作:
假设在数据库ItcastCater有一张表ManagerInfo,有如下几个字段
我们知道在UI,BLL,DAL之间有数据的交互,所以我们传递的数据需要有一个类型,因为我们操作的是ManagerInfo表,所以咱们可以在Model这里建一个类名为ManagerInfo的类,在这里定义的属性需要和ManagerInfo表中的字段一一对应。我们知道DAL是处理和数据库相关的操作,出了这个层就不在有和数据库相关的代码,所以我们需要封装一个SqlHelper类,用于数据库的操作。可以封装成一个静态类,作为工具类使用。同时,我们现在处理的是ManagerInfo这个表,以后也会操作其他的表,遵循单一原则,所以需要在DAL中建一个专门处理ManagerInfo表的类ManagerInfoDal,相应的在BLL中需要一个处理ManagerInfo表业务逻辑的类ManagerInfoBll。到这里所有的准备工作已经完成。(注意:我们使用的数据库是SQLite,所以在数据库操作那部分用的都是SQLite自带的 类和对象)
1.查询操作:
从最底层DAL开始写起(SQLiteHelper):
1 public static class SQLiteHelper 2 { 3 //连接字符串 4 static string strConn = ConfigurationManager.ConnectionStrings["Cater"].ConnectionString; 5 #region 查询数据 +DataTable GetList(string sql) 6 /// <summary> 7 /// 查询数据 8 /// </summary> 9 /// <param name="sql">查询字符串</param> 10 /// <returns></returns> 11 public static DataTable GetList(string sql) 12 { 13 //创建连接对象 14 using (SQLiteConnection conn = new SQLiteConnection(strConn)) 15 { 16 //创建桥接对象 17 SQLiteDataAdapter adapter = new SQLiteDataAdapter(sql, conn); 18 //创建表 对象 19 DataTable table = new DataTable(); 20 //将数据 缓存到 表格中 21 adapter.Fill(table); 22 //返回数据 23 return table; 24 } 25 } 26 #endregion 27 }
接着是ManagerInfoDal类中查询代码
1 //